總結如何使用:
源:輸入流 inputstream reader
目的 輸出流 outputstream writer
操作物件:
檔案(字元流)
其它(位元組流)
原裝置:記憶體,硬碟,鍵盤
目的裝置:記憶體,硬碟,控制台
需求:檔案到檔案(字元到字元)
源:inputstream reader
純文字:reader
操作檔案:filereader
提高效率:bufferedreader
bufferedreader br =
new bufferedreader(new filereader("demo.txt"));
目的:outputstream writer
純文字:writer
操作檔案:filewriter
提高效率:bufferedwriter
bufferedwriter bw
=new bufferedwriter(new filewriter("democopy.txt"));
需求:鍵盤錄入到檔案
源:inputstream reader
純文字:reader
裝置:鍵盤 system.
in(位元組流)
為了操作鍵盤中的文字資料方便,轉成字元流並按照字串的形式操作最方便
所以需要將 system.
in 轉換 reader
即用到 reader體系中的轉換流 inputstreamreader
提高效率:bufferedreader
bufferedreader br =
new bufferedreader(new inputstreamreader(system.
in));
目的 outputstream writer
檔案 writer
操作檔案:filewriter
提高效率:bufferedwriter
bufferedwriter bw
=new bufferedwriter(new filewriter("democopy.txt"));
//指定轉換流
bufferedwriter br =
new bufferedwriter(new outputstreamwriter(new fileoutputstream("democopy.txt"),"utf-8"));
需求從檔案到控制台
源:inputstream reader
裝置:硬碟
檔案 filereader
提高效率:bufferedreader
bufferedreader br =
new bufferedreader(new filereader("demo.txt"));
//指定轉換流
bufferedreader br =
new bufferedreader(new inputstreamreader(new fileinputstream("demo.txt"),"utf-8"));
//或者gbk
目的:outputstream writer
裝置:控制台
檔案:filewriter
但由於控制台的寫入要用 system.out 位元組流
即用到 writer 體系中的 outputstreamwriter
提高效率:bufferedwriter
bufferedwriter bw
=new bufferedwriter(new outputstreamwriter(system.out));
//寫入控制台
pw =
new printwriter(system.out);
//寫入控制台,且自動重新整理
pw =
new printwriter(system.out, true);
//寫入至檔案不可自動重新整理
pw =
new printwriter("aa.txt");
//寫入至檔案可自動重新整理
pw =
new printwriter(new filewriter("aa.txt"), true);
//追加寫入檔案
pw =
new printwriter(new filewriter("aa.txt", true));
//追加寫入檔案並自動重新整理
pw =
new printwriter(new filewriter("aa.txt", true), true);
//指定字符集寫入檔案,不自動重新整理
pw =
new printwriter("aa.txt", "utf-8");
//指定字符集寫入且可以自動重新整理
pw =
new printwriter(new outputstreamwriter(new fileoutputstream("aa.txt"), "utf-8"), true);
//指定字符集寫入且可以自動重新整理,且提高效率
bufferedwriter bw
=new bufferedwriter(pw);
如何選擇正確的 IO流 物件
1,源 鍵盤錄入。目的 控制台。2,需求 想把鍵盤錄入的資料儲存到乙個檔案中。源 鍵盤。目的 檔案。3,需求 想要將乙個檔案的資料列印在控制台上。源 檔案。目的 控制台。最痛苦的就是流物件有很多,不知道該用哪乙個。通過三個明確來完成。1,明確源和目的。源 輸入流。inputstream reader...
如何正確使用記憶體
如何正確使用記憶體 對於初學者來說,記憶體是個神秘的空間。程式的絕大部分錯誤,也是在於記憶體的使用不當造成的,而且這些錯誤有些都是隱藏很深的。所以,如何掌握記憶體的使用,通曉系統對記憶體的管理手段,將是軟體成功的乙個非常關鍵的因素。首先我們要了解記憶體的分配方式。一般來說,記憶體的分配方式有三種 1...
如何正確使用列舉
列舉型別,對程式設計師來說再熟悉不過了,但是,你確定你在正確得使用它嗎?在用列舉之前,讓我們來區分一下狀態和選項這兩個概念。那麼,我們怎麼使用列舉來定義狀態和選項呢?不好的寫法 你可能經常見到的寫法 define status fail 0 define status success 1 用int變...