輸入輸出流(一)InputStream和OutputStream
阿新 • • 發佈:2019-05-15
用戶 sha show append tput 二進制 open 所有 擴展
1、輸入/輸出流以處理字節和字符分類形成兩個單獨的層次結構:
(1)InputStream和OutputStream類可以讀寫單個字節或字節數組。
(2)Reader和Writer類可以讀寫基於兩字節的Char值,即Unicode文本。
2、還有4個附加的接口:Closeable、Flushable、Readable和Appendable。InputStream、OutputStream、Reader和Writer都實現了Closeable接口,OutputStream和Writer還實現了Flushable接口,只有Writer實現了Appendable接口。
3、字節流下面常用輸入輸出流有:
(1)FileInputStream和FileOutputStream提供一個磁盤文件上的輸入輸出流,只需向其構造器提供文件名(相對路徑,用戶工作目錄開始,System.getProperty("user.dir")可以獲取,文件分隔符可以使用java.io.File.separator)或完整路徑名。
(2)FilterInputStream和FilterOutputStream類下面的子類可以擴展字節流的功能,比如DataInputStream和DataOutputStream可以以二進制格式讀寫所有的基本Java類型,BufferedInputStream和BufferedOutputStream 可以創建帶緩沖區的輸入輸出流,以及提供預覽機制的PushbackInputStream等。
(3)Java通過對各種流進行組合來實現不同的功能,比如下代碼:
DataInputStream din = new DataInputStream( new BufferedInputStream( new FileInputStram("xxx.dat")));組裝IO流過濾器
輸入輸出流(一)InputStream和OutputStream