處理流(過濾流)
阿新 • • 發佈:2018-11-24
1、提供更加強大的讀取功能,不是隻能讀取字元或者位元組型別
2、我們希望讀取的不僅僅是一個位元組,而是一個字串、一個double型別的資料等等能夠直接用的資料(比如從磁碟中讀取生命值,直接讀取double型別的是很方便的,但是直接讀取字串是很麻煩的)
FileInputStream:節點流可以從檔案中讀資料,每次讀取一個節點回來,但是讀節點對程式設計師來說沒有太大的用處
DoubleInputStream:希望可以直接讀一個double等一些基本型別回來,讀之後就能直接用了,但是無法直接從檔案中直接讀取資料
3、為了結合上面兩者的優點,也就是既能直接讀取位元組,還能將直接讀取的位元組轉換成自己想要的型別,這就需要組裝
讀的時候(檔案或者其它位置讀寫位元組)
資料來源—FileInputStream(讀位元組)—BufferedInputStream(處理流,buffer+緩衝區,效率更高,但是讀出來的還是位元組)—DataInputStream(處理流,可以讀double等一些基本型別的資料)
將讀出來的位元組轉換成更有用的資料型別
寫的時候(將不同的資料寫到磁碟中)
資料—DATAOutputStream—BufferedOutputStream—FileOutputStream(二進位制往磁碟中寫)
DataInputStream從FileInputStream中讀回的位元組,通過DataInputStream轉換成各種資料型別,返回給s變數。
DataInputStream din=null;
try
{
din=new DataInputStream(new FileInputStream("E:\\\\workplace\\\\KeJian\\\\unicode.txt"));
}
catch(FileNotFoundException e)
{
System.out.println("找不到檔案");
}
問題:DataInputStream中是什麼型別的
4、順序問題,為了轉換成什麼樣,就最後new誰