java基礎—–io流!

來源:互聯網
上載者:User

1.何為IO流:

   java中用來處理裝置之間的資料轉送.JAVA中對資料的操作是通過流的方式.

   JAVA中用於操作流的對象都在IO包中。

2.流的分類:

   1) 按資料分為兩種:位元組流的字元流。

   2) 按流向分: 輸入資料流和輸出資料流。

3.流的關閉:

   在流不需要使用的時候一定記得要去關閉。這樣可以避免資源的消耗,也提高效率。

   但是在執行close()方法的時候,系統會自己調用flush()方法,將資料刷入到檔案中。

   還有一點就是如果存在多個流對象,那麼需要將流按逆序關閉。不能按順序關閉,否則會報錯。

4. FileWriter和FileReader:

    用來處理檔案的寫入和讀取.   

FileWriter fileWriter = new FileWriter("D:\\demo1.txt");

  當檔案不存在時,會去自動建立。但是如果檔案存在則會覆蓋原來檔案。

   若是要在原來的基礎上去寫入檔案。則在後面加一個參數。

fw = new FileWriter("D:\\demo.txt", true);

   這樣即可現實檔案的續寫。關於檔案的讀取一樣:

fileReader = new FileReader("D:\\demo.txt");

   一般情況下會以字元數組的方式去讀取資料.

char[] data = new char[1024];int num = 0;while((num = fileReader.read(data)) != -1){/** * 唯讀取含有字元的長度. * **/System.out.print(new String(data,0,num));}

 

    這裡要注意在windows下要寫入個分行符號,要寫為witer("\r\n");

5.bufferedWiter和buufferedReader:

   緩衝區的出現就是為了提高流的操作效率才出現的。

   所以在建立緩衝區之前,必須要有流的對象。

   當然緩衝區還提高了一個跨平台的分行符號. newLine();

   不在需要用流對象的時候那樣witer("\r\n");直接使用分行符號就好!

  

  bufferedReader可以選擇去讀一行,當返回結果為null 時表示檔案結束,但是要注意的是readLine()只返回斷行符號符之前的資料,並不返回斷行符號符。

  同時也可以去用字元數組的方式去讀取資料.

/** * 用緩衝區中的方法讀一行 *  * **/fw = new FileReader("d:\\demo2.txt");br = new BufferedReader(fw);String line = null;while((line = br.readLine()) != null){System.out.println(line);}/** * 以字元數組方式去讀取 * **//** fw = new FileReader("d:\\demo.txt"); br = new BufferedReader(fw);char[] data = new char[1024];int ch = 0;long startTime= new Date().getTime();while((ch = br.read(data)) != -1){System.out.println(ch +" "+new String(data));}long emdTime= new Date().getTime();System.out.println("time:" +(emdTime - startTime));*/

 

6.BufferedReader中的readLine()方法的原理:

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.