IO流的結構梳理

2021-07-16 16:33:56 字數 1839 閱讀 5577

1:字元流

(1)位元組流操作中文資料不是特別的方便,所以就出現了轉換流。

轉換流的作用就是把位元組流轉換字元流來使用。

(2)轉換流其實是乙個字元流

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

(3)編碼表

a:就是由字元和對應的數值組成的一張表

b:常見的編碼表

ascii

iso-8859-1

gb2312

gbkgb18030

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):一次寫乙個字串

IO流 字元流 IO流小結 IO流案例總結

1 字元流 掌握 1 位元組流操作中文資料不是特別的方便,所以就出現了轉換流。轉換流的作用就是把位元組流轉換字元流來使用。2 轉換流其實是乙個字元流 字元流 位元組流 編碼表 3 編碼表 a 就是由字元和對應的數值組成的一張表 b 常見的編碼表 ascii iso 8859 1 gb2312 gbk...

IO流5 IO流 緩衝流的使用

bufferedinputstream bufferedoutputstream bufferedreader bufferedwriter 提供流的讀取 寫入的速度 提高讀寫速度的原因 內部提供了緩衝區 實現非文字檔案的複製 test public void testbufferedstream ...

IO流3 IO流 節點流 字元流的使用

read 將hello.txt檔案內容讀入程式中,並輸出到控制台 test public void testfilereader catch ioexception e finally catch ioexception e 說明點 read 的理解 返回讀入的乙個字元。如果達到檔案末尾,返回 1 ...