淺析Java的流 (轉)

gugu99發表於2008-03-18
淺析Java的流 (轉)[@more@]

由於手頭有個專案需要用的的輸入輸出操作, 所以,啃了幾天書,對Java的流技術有些瞭解,不過,還是有很多不是很明白,下面是我看書整理的一些筆記,嚴格的說應該不是原創,我貼出來只是希望對大家有一些幫助

:namespace prefix = o ns = "urn:schemas--com::office" />

1、Java擁有一個完整的流型別,總數超過60,而四個抽象類構成了這些類的基礎

InputStream和OutputStream讀寫以單位元組為基礎的位元組資料流;

Reader和Writer讀寫以雙位元組的Unicode字元為基礎的位元組資料流;

2、二進位制資料的讀寫

DataInputStream和DataOutputStream

可以完成對所有基本Java型別的讀寫;

FileInputStream和FileOutputStream

對一個涉及的資料流進行輸入輸出處理,是位元組級的讀寫操作;

3、Java的流型別中按職責分有兩類:

(1)從檔案或者一些特殊地方讀入位元組資料(如FileInputStream);

(2)把這些位元組資料“組裝”成更有用的資料型別(如DataInputStream、PrintWriter)

要完成具體操作時,需要對流進行組裝處理

4、Java的流不具備預讀和緩衝功能,需要額外處理

  BufferInputStram對流進行緩衝處理;

  PushbackInputStream對流進行預讀處理;

5、RanAccesile隨機存取檔案,這個類同時實現了DataInput和DataOutput;

6、文字流,即透過主機環境的工具,人眼能夠辨別的檔案內容

由於的字串寫入是ASCII格式的,將Unicode編碼寫進一個文字檔案,用主機環境的工具,人眼無法辨別檔案內容,Java提供一套流過濾器彌補Unicode編碼和本機操作採用字元編碼的裂縫。

7、InputStreamReader 特殊的編碼方案輸入位元組流轉換為Unicode字元;這個類採用主機預設編碼,在windows中使用ISO 8859-1編碼,即“ASNI”編碼;

OutputStreamWriter 把Unicode字元流轉換為特殊的編碼方案位元組流

8、FileReader和FileWriter

對磁碟檔案進行讀寫,已經彌補了Unicode編碼和本機編碼的裂縫,可以直接使用

9、寫文字輸出:

  二進位制寫入資料:DataOutputStream;

  文字格式寫入資料:PrintWriter;

  讀文字輸入:

  二進位制讀入資料:DataInputStream;

  文字格式讀入資料:BufferReader;

10、其他一些流

如:ZipInputStream和ZipOutputStream

對ZIP檔案進行讀寫操作

 

 

 

歡迎訪問我的主頁


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1001082/,如需轉載,請註明出處,否則將追究法律責任。

相關文章