IO流(字元流 轉換流)

2021-08-06 05:04:45 字數 1979 閱讀 3068

**字元輸入流:**

*public inputstreamreader(inputstream in):預設的編碼格式(一般使用這個)*

public inputstreamreader(inputstream in,string charsetname):指定的編碼格式

字元輸入流= 位元組輸入流+ 編碼表:將位元組流轉換成字元流

轉換流:非常麻煩,本身就比**書寫量大

便捷類:

*filereader(file file);(建議使用)*

常用的方法:

public int read():讀取單個字元

public int read(char cbuf, int offset,int length):讀取字元陣列(讀取的是實際長度)

**字元輸出流:**

public outputstreamwriter(outputstream out):預設編碼:採用的格式:gbk格式

public outputstreamwriter(outputstream out,charset cs):指定編碼表

有5個寫資料的方法:

public void write(int c):寫單個字元

public void write(char cbuf):寫乙個字元陣列

public abstract void write(char cbuf, int off,int len):字元陣列的一部分

public void write(string str):寫字串

public void write(string str, int off,int len):寫一部分字串

flush():重新整理該流的緩衝!

面試題:close()方法和flush()方法的區別?

close():關閉跟該流相關的資源,並且關閉之前,一定要重新整理,防止出現沒有寫進去的情況,關閉之後不能在寫資料了!

flush():重新整理緩衝的流,重新整理之後,還可以給檔案中寫資料

需求: 將e:\\a.txt檔案讀取到e:\\b.txt檔案中

**: public static void main(string args)

//一次讀取乙個字元陣列

char ch = new char[1024];

int len;

while((len = isd.read(ch))!= -1)

isd.close();

osw.close();

}

string類的方法:

public byte getbytes(charset charset) throws unsupportedencodingexception :將string型別轉換成位元組陣列:編碼

把能看懂的編寫成了看不懂的資料

public string(byte bytes,string charsetname):將byle型別的陣列轉換成string型別:解碼

把看不懂的資料轉換成了乙個能懂的字串

舉例:諜戰片(傳送端和接收端)

傳送:今天老地方見

能看懂的資料—>看不懂的 : 編碼

今—->位元組陣列—數值—->二進位制資料

接收的:

看不懂的公升級--->能看懂的字串 : 解碼

二進位制資料---->十進位制---->數值----->string型別的字串: 今

今天老地方見!

編碼解碼的問題很簡單:解碼編碼只要保證他們的編碼格式一致,就不會出現亂碼的情況!

**:

public static void main(string args)throws unsupportedencodingexception
結果:

[-50, -46, -80, -82, -60, -29]

~~~~~~~~~

我愛你

IO流,字元流,位元組流,轉換流

io流的分類 輸入流 輸出流 說明 位元組流 inputstream outputstream 位元組流是處理位元組的 二進位制 字元流 reader writer 字元流是處理字元的 注 這幾個類都是抽象類。io解決問題 解決裝置與裝置之間 的資料傳輸問題。比如 硬碟 記憶體 記憶體 硬碟 輸入位...

I O流(轉換流)

轉換流其實聽名字就不是很難理解 比如位元組流轉字元流 這裡我就不再演示輸出結果了,這一篇部落格我沒有驗證我寫的 不過一般是沒有多大問題的,就算有自己花點時間除錯一下就好了,不要太懶。還有就是記得包含上指定的包,要不然肯定會報錯的。這裡建議大家還是不要偷懶自己弄幾個檔案敲一下 執行下。這裡我們可能只會...

Java IO 二 IO流 處理流 轉換流

io流 處理流 轉換流 1.轉換流 位元組流轉換為字元流,為了處理亂碼 編碼集 解碼集 2.編碼與解碼的概念 1 編碼 字元 編碼字符集 二進位制 2 解碼 二進位制 解碼字符集 字元 3.亂碼的原因 1 編碼和解碼的字符集的不統一 解碼 byte char 我的ide預設解碼字符集為gbk str...