【轉載】JAVA中IO流操作的基本規律總結
阿新 • • 發佈:2018-01-03
reader 對象 作文 若是 gpo 是否 目的 io流 基本 流操作的基本規律:三個明確
1.明確源和目的;
源:輸入流即讀取流 InputStream,Reader
目的:輸出流即寫入流 OutputStream, Writer
2.明確操作的數據是否是純文本文件;
如是果是純文本文件使用字符流Reader 或Writer,不是純文本文件 使用字節流InputStream或 OutputStream
3.當體系明確後,在明確具體的適用對象;
通過設備來區分
源設備:內存 硬盤 鍵盤
目的設備:內存 硬盤 控制臺
***************************************************************************************************
eg1:將一個文本文件的數據復制到另一個文件
分析開始:
源是一個文本文件所以使用字符流,因為要讀取區其中的數據,選擇Reader
接下來明確使用對象,設備是硬盤上的文件,Reader體系中操作文件的對象時FileReader
FileReader fr=new FileReader("a.txt");
為了提高讀取效率,加入Reader體系之中的緩沖區BufferedReader(裝飾類 )
BufferedReader br=new BufferedReader(fr);
目的:也是一個文件,因為要向其中寫入數據,選擇Writer
因為該文件也存在與硬盤之上,所以使用Writer體系中操作文件的對象FileWriter
FileWriter fw=new FileWriter("b.txt");
同理,為了提高讀取效率,加入 Writer 體系之中的緩沖區BufferedWriter
Buffered Writer br=new Buffered Writer r(fw);
若是圖片、音頻或是視頻文件,分析步驟同上,改成相應的字節流即可。
********************************************************************************************************
eg2:將鍵盤錄入的數據保存到文件當中
分析:源是鍵盤錄入( InputStream,Reader),是純文本(Reader);
設備:鍵盤,對應的對象System.in
由於體系是Reader,而System是字節流(InputStream),所以要轉成字符流,利用Reader體系中的字節轉字符的橋梁:InputStreamReader
InputStreamReader isr=new InputStreamReader(System.in);
為了提高效率,使用BufferedReader
BufferedReader br=new BufferedReader(isr);
目的:也是文本文件,Writer
設備:硬盤上的文件,使用對象FileWriter
FileWriter fw=new FileWriter("a.txt");
同樣為了提高效率:Buffered Writer br=new Buffered Writer r(fw);
如果要將文本中的文件輸出到控制臺,按照上面的三個明確即可。
原文博客:http://blog.csdn.net/u012355386/article/details/22697155
淺顯易懂,非常好用
【轉載】JAVA中IO流操作的基本規律總結