1)確定是資料來源和資料目的(輸入還是輸出)
源:輸入流 inputstream reader
目的:輸出流 outputstream writer
2)明確操作的資料物件是否是純文字
是:字元流reader,writer
否:位元組流inputstream,outputstream
3)明確具體的裝置。
是硬碟檔案:file++:
讀取:fileinputstream,, filereader,
寫入:fileoutputstream,filewriter
是記憶體用陣列
byte:bytearrayinputstream, bytearrayoutputstream
是char:chararrayreader, chararraywriter
是string:stringbufferinputstream(已過時,因為其只能用於string的每個字元都是8位的字串), stringreader, stringwriter
是網路用socket流
是鍵盤:用system.in(是乙個inputstream物件)讀取,用system.out(是乙個outoutstream物件)列印
3)是否需要轉換流
是,就使用轉換流,從stream轉化為reader,writer:inputstreamreader,outputstreamwriter
4)是否需要緩衝提高效率
是就加上buffered:bufferedinputstream, bufferedouputstream, buffereareader, bufferedwriter
5)是否需要格式化輸出
例:將乙個文字檔案中資料儲存到另乙個檔案中。
1)資料來源和資料目的:讀取流,inputstream reader 輸出:outputstream writer
2)是否純文字:是!這時就可以選擇reader writer。
3)裝置:是硬碟檔案。reader體系中可以操作檔案的物件是 filereader filewriter。
filereader fr = new filereader("a.txt");
filewriter fw = new filewriter("b.txt");
4)是否需要提高效率:是,加buffer
bufferedreader bfr = new bufferedreader(new filereader("a.txt"); );
bufferedwriter bfw = new bufferedwriter(new filewriter("b.txt"); );
ioexception異常類的子類
1.public class eofexception :
非正常到達檔案尾或輸入流尾時,丟擲這種型別的異常。
2.public class filenotfoundexception:
當檔案找不到時,丟擲的異常。
3.public class interruptedioexception:
當i/o操作被中斷時,丟擲這種型別的異常。
如何選擇正確的 IO流 物件
1,源 鍵盤錄入。目的 控制台。2,需求 想把鍵盤錄入的資料儲存到乙個檔案中。源 鍵盤。目的 檔案。3,需求 想要將乙個檔案的資料列印在控制台上。源 檔案。目的 控制台。最痛苦的就是流物件有很多,不知道該用哪乙個。通過三個明確來完成。1,明確源和目的。源 輸入流。inputstream reader...
IO流 字元流 IO流小結 IO流案例總結
1 字元流 掌握 1 位元組流操作中文資料不是特別的方便,所以就出現了轉換流。轉換流的作用就是把位元組流轉換字元流來使用。2 轉換流其實是乙個字元流 字元流 位元組流 編碼表 3 編碼表 a 就是由字元和對應的數值組成的一張表 b 常見的編碼表 ascii iso 8859 1 gb2312 gbk...
IO流 記憶體流
記憶體流 bytearrayinputstream bytearrayoutputstream chararrayinputstream charoutputstream stringreader stringwriter 目的 將資料臨時存放在陣列中 相當於記憶體中 tips 上面的writer ...