總結如何正確使用流的操作

2021-08-20 19:34:28 字數 2606 閱讀 4833

總結如何使用:

源:輸入流 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變...