1. 程式人生 > >Java基礎-IO流-轉換流(字元流)

Java基礎-IO流-轉換流(字元流)

轉換流

把位元組流轉換為字元流

字元流 = 位元組流+編碼表

字元輸出流

OutputStreamWriter(OutputStream) 根據預設編碼,把位元組流轉換為字元輸出流

OutputStreamWriter(OutputStream,String charsetName) 根據指定編碼把位元組流資料轉換為字輸出符流

在這裡插入圖片描述

字元輸入流

InputStreamReader(FileInputStream)根據預設編碼,把位元組流轉換為字元輸入流

InputStreamReader(FileInputStream,String charsetName)根據指定編碼把位元組流資料轉換為字輸入符流

在這裡插入圖片描述

OutputStreamWriter的方法

public void writer(int c) 寫一個字元

public void writer(char[] cbuf) 寫一個字元陣列

public void writer(char[],int off,int len) 寫一個字元陣列的一部分

public void writer(String str) 寫一個字串

public void writer(String str,int off,int len):寫一個字串的一部分

因為計算機儲存資料是按位元組儲存的,所以,在寫入字元流的時候,一個字元等於兩個位元組,此時資料是儲存在緩衝區上的,所以在使用字元流的時候,要用 void flush()方法重新整理。

public void writer(int c) 寫一個字元

在這裡插入圖片描述

public void writer(char[] cbuf) 寫一個字元陣列

在這裡插入圖片描述

public void writer(char[],int off,int len) 寫一個字元陣列的一部分

在這裡插入圖片描述

public void writer(String str) 寫一個字串

在這裡插入圖片描述

close()和flush()的區別

close() 關閉流物件,重新整理緩衝區,關閉之後流物件不能再繼續使用

flush() 僅重新整理緩衝區,重新整理之後流物件可以繼續使用

字元緩衝流的特殊方法

BufferedWriter()

public void newLine()

根據系統來決定換行符

在這裡插入圖片描述

BufferedReader

public void readLine()

一次讀取一行資料,包含該行內容的字串,不包含任何終止符,如果已經到達流末尾,則返回null;

在這裡插入圖片描述

使用特殊方法複製檔案

在這裡插入圖片描述

總結

在這裡插入圖片描述