io流中有4個底層基類:
位元組流:inputstream, outputstream
字元流:reader, writer
字元流,其實就是位元組流讀取文字位元組資料後,不直接操作而是 先查指定的編碼表,獲得對應的文字。再對這個文字進行操作。
字串的緩衝區:
緩衝區的出現提高了對資料的讀寫效率,對應類:bufferedreader, bufferedwriter
bufferedreader: readline();讀取行
bufferedwriter: newline();換行
readline原理:使用了讀取緩衝區的read方法,將讀取到的字元進行緩衝,並判斷換行標記,將標記籤的緩衝資料變成字串返回。
位元組流:
不僅可以操作字元,還可以操作其他**檔案
不須flush,但是close是必須的。
轉換流:
inputstreamreader:將位元組流轉換成字元流
outputstreamwriter:將字元流轉換成位元組流
什麼時候用轉換流:
1、源或者目的對應的裝置是位元組流,但是操作的確實文字資料,可以使用轉換流作為橋梁,提高對文字操作的便捷
2、一旦操作文字涉及到到具體的指定的編碼表時,必須用轉換流 如:
bufferedreader br=new bufferedreader(new inputstreamreader(system.in));
bufferedwriter bw=new bufferedwriter(new outputstreamwriter(system.out));
filewriter:專門操作文字格式。其實就是轉換流指定了本機預設碼表的體現,而且這個轉換流的子類物件,可以方便操作文字檔案。簡單說,filewriter就是操作檔案的位元組流加上本機預設的編碼表,這是按預設編碼操作檔案的邊界類
filewriter(file file,boolean flag),如果第二個引數為真,true,則將位元組寫入檔案末尾處,而不是寫入檔案的開始處。
列印流:
提供了列印方法可以對多種型別值進行列印,並保持資料的表現形式
它不拋io異常
printstream:可以接收字串路徑、file物件、位元組輸出流
printwriter:可以接收字串路徑、file物件、位元組輸出流、字元輸出流
構造方法時,傳入true,可以自動重新整理
流操作規律:
1、明確源和目的
源:inputstream,reader
目的:outputstream,writer
2、明確資料是否是純文字資料
源:是純文字:reader
否:inputestream
目的:是純文字:writer
否:outputstream
3、明確具體的裝置
源裝置:硬碟:file
鍵盤:system.in
記憶體:陣列
網路:socket流
源裝置:硬碟:file
鍵盤:system.out
記憶體:陣列
網路:socket流
4、是否需要其他額外功能
高效:用緩衝區,加上buffered
轉換:inputstreamreader,outputstreamwriter
IO流字元流知識點整理
1.字元流是什麼 字元流是可以直接讀寫字元的io流 字元流讀取字元,就要先讀取到位元組資料,然後轉為字元.如果要寫出字元,需要把字元轉為位元組再寫出.2.filereader filereader類的read 方法可以按照字元大小讀取 filereader fr new filereader aaa...
知識點整理
一 標準庫容器和演算法 1.順序容器 與前面類似 2.關聯容器 map和multimap 元素包含key 鍵 和值 value 兩部分 按照鍵對元素排序 map不允許重複元素出現,但multimap可以 set和multliset 是包含已排序物件的關聯容器 只是單純的鍵的集合 set不允許重複鍵出...
知識點整理
一 標準庫容器和演算法 1.順序容器 與前面類似 2.關聯容器 map和multimap 元素包含key 鍵 和值 value 兩部分 按照鍵對元素排序 map不允許重複元素出現,但multimap可以 set和multliset 是包含已排序物件的關聯容器 只是單純的鍵的集合 set不允許重複鍵出...