首頁 > 軟體

Java 輕鬆掌握字元緩衝流的使用

2022-04-08 19:00:35

一、字元緩衝流

BufferedWriter:文字寫入字元輸出流,緩衝字元,以提供單個字元,陣列和字串的高效寫入。可以指定緩衝區大小,或者可以接受預設大小。 預設值足夠大,可用於大多數用途。

構造方法:

BufferedWriter(Writer out)建立使用預設大小的輸出緩衝區的緩衝字元輸出流
BufferedWriter(Writer out, int sz)建立一個新的緩衝字元輸出流,使用給定大小的輸出緩衝區

BufferedReader:從字元輸入流讀取文字,緩衝字元,以提供字元,陣列和行的高效讀取。可以指定緩衝區大小,或者可以使用預設大小。 預設值足夠大,可用於大多數用途。

構造方法:

BufferedReader(Reader in)建立使用預設大小的輸入緩衝區的緩衝字元輸入流
BufferedReader(Reader in, int sz)    建立使用指定大小的輸入緩衝區的緩衝字元輸入流

字元緩衝流讀資料的方式:

  • int read():一次讀取一個字元資料
  • int read(char[] cbuf):一次讀一個字元陣列資料
  • int read(char cbuf[], int off, int len):一次讀一個字元陣列部分資料
  • String readLine():讀一行文字。結果包含行的內容的字元,不包含任何行終止字元,如果流的結尾已經達到,則為null

字元緩衝流寫資料的方式:

  • void write(int c):寫入一個字元
  • void write(char[] cbuf):寫入一個字元陣列
  • void write(char[] cbuf,int off,int len):寫入字元陣列的一部分
  • void write(String str):寫入一個字串
  • void write(String str,int off,int len):寫入一個字串的一部分
  • void newLine():寫一行行分隔符,行分隔符字串由系統屬性定義

例子-字元緩衝流實現複製Java檔案:

public class BufferedWriteReaderDemo {
    public static void main(String[] args) throws IOException {
        //使用字元緩衝流實現一個檔案的複製
        //使用子類FileWriteFileReader替代OutputStreamWriteInputStreamReader
        BufferedReader br=new BufferedReader(new FileReader("E:\abc.txt"));
        BufferedWriter bw=new BufferedWriter(new FileWriter("F:\abcdef.txt"));
        //讀取資料
//        int len;
//        while ((len=br.read())!=-1){
//            bw.write(len);
//        }
        int len;
        char[] ch=new char[1024];
        while ((len=br.read(ch))!=-1){
            bw.write(ch);
        }
        //釋放資源
        br.close();
        bw.close();
    }
}

二、字元緩衝流的特有方法

BufferedWriter:

void newLine():寫一行行分隔符,行分隔符字串由系統屬性定義

BufferedReader:

public String readLine():讀一行文字。結果包含行的內容的字串,不包括任何行終止字元;如果流的結尾已經到達,則值為null

例子-字元緩衝流特有方法實現複製Java檔案:

public class Demo02 {
    public static void main(String[] args) throws IOException {
        //字元緩衝流特有方法實現複製Java檔案
        BufferedReader br=new BufferedReader(new FileReader("E:\abc.txt"));
        BufferedWriter bw=new BufferedWriter(new FileWriter("F:\aaa.txt"));
        //讀寫資料
        String line;
        while ((line=br.readLine())!=null){
            bw.write(line);
            bw.newLine();//換行
            bw.flush();//重新整理快取區
        }
       
        //釋放資源
        br.close();
        bw.close();
    }
}

字元流只能複製文字資料,有5種方式,一般採用字元緩衝流的特有功能

到此這篇關於Java 輕鬆掌握字元緩衝流的使用的文章就介紹到這了,更多相關Java 字元緩衝流內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com