1. 程式人生 > >java學習筆記(19)

java學習筆記(19)

1:字元流(掌握)
(1)位元組流操作中文資料不是特別的方便,所以就出現了轉換流。
轉換流的作用就是把位元組流轉換字元流來使用。
(2)轉換流其實是一個字元流
字元流 = 位元組流 + 編碼表
(3)編碼表
A:就是由字元和對應的數值組成的一張表
B:常見的編碼表
ASCII
ISO-8859-1
GB2312
GBK
GB18030
UTF-8
C:字串中的編碼問題
編碼
String – byte[]
解碼
byte[] – String
(4)IO流中的編碼問題
A:OutputStreamWriter
OutputStreamWriter(OutputStream os):預設編碼,GBK
OutputStreamWriter(OutputStream os,String charsetName):指定編碼。
B:InputStreamReader
InputStreamReader(InputStream is):預設編碼,GBK
InputStreamReader(InputStream is,String charsetName):指定編碼
C:編碼問題其實很簡單
編碼只要一致即可
(5)字元流
Reader
|–InputStreamReader
|–FileReader
|–BufferedReader
Writer
|–OutputStreamWriter
|–FileWriter
|–BufferedWriter
(6)複製文字檔案(5種方式)

2:IO流小結(掌握)
IO流
|–位元組流
|–位元組輸入流
InputStream
int read():一次讀取一個位元組
int read(byte[] bys):一次讀取一個位元組陣列
|–FileInputStream
|–BufferedInputStream
|–位元組輸出流
OutputStream
void write(int by):一次寫一個位元組
void write(byte[] bys,int index,int len):一次寫一個位元組陣列的一部分
|–FileOutputStream
|–BufferedOutputStream
|–字元流
|–字元輸入流
Reader
int read():一次讀取一個字元
int read(char[] chs):一次讀取一個字元陣列
|–InputStreamReader
|–FileReader
|–BufferedReader
String readLine():一次讀取一個字串
|–字元輸出流
Writer
void write(int ch):一次寫一個字元
void write(char[] chs,int index,int len):一次寫一個字元陣列的一部分
|–OutputStreamWriter
|–FileWriter
|–BufferedWriter
void newLine():寫一個換行符
void write(String line):一次寫一個字串