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

2021-10-05 10:10:19 字數 2004 閱讀 7828

io流的分類

輸入流

輸出流

說明

位元組流

inputstream

outputstream

位元組流是處理位元組的(二進位制)

字元流

reader

writer

字元流是處理字元的

注:這幾個類都是抽象類。

io解決問題: 解決裝置與裝置之間 的資料傳輸問題。  比如: 硬碟--->記憶體            記憶體----->硬碟

輸入位元組流:inputstream 所有輸入位元組流的基類。 抽象類。

fileinputstream 讀取檔案的輸入位元組流。

bufferedinputstream 緩衝輸入位元組流。 該類內部其實就是維護了乙個8kb位元組陣列而已。  該類出現的目的是為了提高讀取檔案資料的效率。

輸出位元組流:outputstream  所有輸出位元組流的基類。  抽象類。

fileoutputstream 向檔案輸出資料 的輸出位元組流。

bufferedoutputstream  緩衝輸出位元組流。 該類出現的目的是為了提高向檔案寫資料的效率。 該類內部其實也是維護了乙個8kb的位元組陣列而已。

什麼情況使用位元組流: 讀取到資料不需要經過編碼或者解碼的情況情況下這時候使用位元組流。比如:資料

字元流 = 位元組流 + 編碼(解碼)

輸入字元流  reader 所有輸入字元流的基類。 抽象類。

filereader 讀取檔案字元的輸入字元流。 

bufferedreader 緩衝輸入字元流。 該類出現的目的是為了提高讀取檔案字元的效率並且拓展了功能(readline()),它內部 其實就是維護了乙個8192個長度的字元陣列。

輸出字元流  writer 所有輸出字元流的基類。 抽象類。

filewriter 向檔案輸出字元資料的輸出字元流。

bufferedwriter 緩衝輸出字元流。該類出現的目的是為了提高寫檔案字元的效率並且拓展了功能(newline())。

什麼情況下使用字元流:如果讀寫的都是字元資料,這時候我們就使用字元流。

轉換流: 位元組流--->字元流

輸入位元組流的轉換流  inputsrteamreader           

輸出位元組流的轉換流  outputstreamwriter

轉換流的作用:

1. 可以把對應的位元組流轉換成字元流使用。

2. 可以指定碼表進行讀寫檔案的資料。

filereader, filewriter這兩個類預設是使用的是gbk編碼 表。不能由你來指定碼表讀寫檔案資料

public class demo1 

public static void readfile() throws ioexception

//關閉資源

inputstreamreader.close();

/*filereader filereader = new filereader("f:\\a.txt"); //預設使用的是gbk碼表

int content = 0;

while((content = filereader.read())!=-1)

//關閉資源

filereader.close();*/

}//指定使用utf-8碼表把資料寫出到檔案上。

public static void writefile() throws ioexception

public static void testoutput() throws exception

public static void testinput() throws exception

}

讀取檔案

拷貝檔案

字元流 位元組流 轉換流簡介

子類字首代表功能 字尾是其父類 字元流 reader write 字元流底層還是位元組流實現 字元流讀取檔案 filewrite fileread fr.read 1判斷是否讀到檔案最後 字元緩衝流 bufferedwrite,bw.newline 寫時緩衝區換行,跨平台,bufferedwrite...

IO流(字元流 轉換流)

字元輸入流 public inputstreamreader inputstream in 預設的編碼格式 一般使用這個 public inputstreamreader inputstream in,string charsetname 指定的編碼格式 字元輸入流 位元組輸入流 編碼表 將位元組流...

IO流 位元組流,字元流和轉換流的小結

io解決問題 解決裝置與裝置之間 的資料傳輸問題。比如 硬碟 記憶體 記憶體 硬碟 位元組流 輸入位元組流 inputstream 所有輸入位元組流的基類。抽象類。fileinputstream 讀取檔案的輸入位元組流。bufferedinputstream 緩衝輸入位元組流。該類內部其實就是維護了...