熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Javascript >> 正文

讓你的應用程序隨Java流而動

2013-11-23 17:53:14  來源: Javascript 

  
  javaio包包含了用於管理文件和數據流的類Java流是一大塊順序數據你可以對它進行管理讓它適合你應用程序的需求
  
  文件被作為字節的順序集保存在存儲設備上你可以使用輸入流從文件裡讀出字節並把這些字節保存到臨時的字節數組裡或者使用輸出流把它們寫到新的文件裡使用流你可以進行自動化任務例如備份服務器上的一組目錄從文本文件讀出字符以及把文本信息寫到日志文件裡
  
  javaio包的關鍵組件是文件對象InputStreams和OutputStreamsFileStreams閱讀器以及編寫器
  
  文件對象
  
  在我們開始把這些文件轉變成流之前你需要對文件對象有一個很好的理解文件對象代表了本地文件系統裡的文件或者文件夾要注意聲明一個文件對象並不會在文件系統裡創建文件
  
  在你和文件系統打交道的時候異常處理是很重要的文件可能不存在——或者可能無法使用你指定的路徑創建文件夾
  
  下面這些例子顯示了文件對象的方法的使用
  
  
  
  創建一個新目錄
  
  使用下面的代碼就能夠創建一個新目錄讓一個對象代表新目錄然後調用mkdir()方法創建這個目錄
  
  //Create File Object
  File newDir = new File(d:/test/mydocs/);
  //Create New Directory
  newDirmkdir();
  
  刪除一個文件
  
  刪除一個文件很容易只用為要刪除的文件創建文件對象並調用文件的delete()方法就行了見下面的代碼片段
  
  //Create File Object
  File f = new File(d:/testtxt);
   //Delete the file
  fdelete();
  列出一個目錄
  
  要記住的是文件對象代表著文件或者文件夾所以如果想要列出一個目錄裡的所有文件那你就要像下面這樣把文件對象實例化
  
  //Create File Object
  File dir = new File(d:/test/);
  
  一旦有了合適的路徑你就可以在其內容中迭代了
  
  //List directory
  if(dirisDirectory())
  {
  String s[] = dirlist();
  for (int i=;
  i  
  //Iterate through files
  }
  }
  
  文件對象的list()方法將返回一個字符串數組,這會列出目錄的內容——文件和文件夾都會被列出來。tw.wiNGWiT.CoM
  
  字符串數組常常被用來向用戶顯示目錄的內容,或者用於創建更多的文件對象來反復搜尋目錄裡所有的文件夾和子文件夾。
  
  輸入和輸出流
  
  流對象和過濾器對象常常會讓程序員感到迷惑。圖A概述了處理流和過濾器的抽象模型。
  
  圖A
   
  抽象的輸入和輸出處理
  
  輸入
  
  輸入處理像下面這樣工作:
  
  輸入流從輸入設備讀取字節。
  輸入過濾器從輸入流裡讀取字節,並將數據返回給其調用者。
  
  輸出
  
  輸出處理以類似的方式工作:
  
  輸出過濾器接收數據,並把字節寫到輸出流。
  輸出流接收字節,並把它們寫到輸出設備。
  這個簡單的模型很靈活,因為你可以把其他過濾器串起來,從而擴展其處理能力,讓其能夠實現特定目標。
  
  
  文件流和過濾器
  
  讓我們看上述模型的一個例子。在這個例子裡,我們的目標是從文件系統裡讀取文件,對流進行緩沖,然後再用不同的名稱把文件寫到文件系統裡。事實上,我們是在把文件從一個地方復制到另一個地方(見圖B)。Listing A裡的代碼提供了達到這個目的的方法。
  
  圖B
  
  文件輸入和輸出處理
  
  
  要注意以下抽象模型和文件模型之間的關系:
  
  FileInputStream是InputStream的子類。
  BufferedInputStream是FilterInputStream的子類。
  
  類似地:
  
  BufferedOutputStream是FilterOutputStream的子類。
  FileOutputStream是OutputStream的子類。
  復制一個目錄
  
  Listing B使用了我們在Listing A裡用過的copyFile方法,而且使用了文件的用於目錄的list()方法,它把所有的文件(不是文件夾)從一個目錄復制到了另一個目錄。
  
  這方法帶有兩個參數——要被復制文件夾的名稱和我們要把文件復制到的文件夾。
  
  閱讀器和編寫器超類
  閱讀器和編寫器是用於所有字符流的超類。這兩者都能處理Unicode字符,能夠正確地處理本地編碼和Unicode文本之間的相互轉換。
  
  Unicode是一項表示文本的標准,對諸如印度語、朝鮮語和漢語等字符集提供了支持。Java和XML都使用Unicode表示大量的人類語言。
  
  當被讀取的數據源是文本的時候,我們都要使用閱讀器和編寫器,而不是用InputStreams和 OutputStreams,後兩者專門用於處理字節。
  
  從文件讀取文本
  
  FileReader是InputStreamReader的子類,被用作從文件裡讀取文本。BufferedReader是閱讀器的子類,能夠提高字符輸入操作的效率。
  
  Listing C所包含的例子使用FileReader和BufferedReader從文件裡讀取文本。
  
  把文本寫入文件
  
  FileWriter是OutputStreamWriter的子類,被用作把文本寫入文件。BufferedWriter是編寫器的子類,能夠提高字符輸出操作的效率。
  
  Listing D使用FileWriter把Java字符串寫入文件。
  
  結論
  
  本教程從解釋文件對象開始,並把它作為理解輸入和輸出流,以及閱讀器和編寫器的基礎。
  
  你現在應該可以更好地了解了如何創建和刪除文件,把文件從一個地方復制到另一個地方,以及讀取和編寫文本文件,所有這些都是在Java流對象的幫助下完成的。
  [[The No.1 Link Start.]]
  本文相關連接請點這裡>>>[[The No Link End]]
  
  
  
  
  

From:http://tw.wingwit.com/Article/program/Java/Javascript/201311/25281.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.