1.輸入流和輸出流相對於記憶體裝置而言,將外設中資料讀入記憶體為輸入,反之為輸出
2.位元組流的兩個頂層父類:inputstream,outputstream
字元流:reader,writer
字元流其實就是位元組流讀取文字位元組資料後,不直接操作而是先查指定的編碼表,獲取對應文字。再對文字進行操作。
即位元組流+編碼。
這些體系的子類都以父類名作為字尾,子類名的字首是該物件的功能。
如果要操作文字資料,優先考慮字元流
3.列印流、序列流、操作物件
列印流:
列印各種資料形式。負責目的
1. printstream
2.printwriter
序列流:sequenceinputstream將其他輸入流邏輯串聯起來。
負責源用法:檔案切割合併
構造引數是列舉型別,用集合工具類方法
操作物件:objectinputstream ,objectoutputstream
用法:將堆記憶體中的物件持久化,存到硬碟上(一般是**.object文字檔案),需要時直接讀取不需重新建立。靜態型別不會被序列化,非靜態資料不想被序列化,加上關鍵字transient
注意:物件需要實現序列化serializable介面
serializable介面:
物件進行序列化會給物件分配乙個id,反序列化時用於驗證,用於判斷類和物件是否是同乙個版本。
實際就是給被序列化的類加id
注意:建議顯示宣告serialversionuid,防止出問題
管道流:pipedinputstream ,
pipedoutputstream
管道輸入流連接到管道輸出流,結合多執行緒使用
4.實際應用
2. 是否需要轉換;
位元組流轉字元流,inputstreamreader
outputstreamwriter
字元流轉
位元組流,fileinputstream
file
outputstream
例如:將 鍵盤資料寫入到檔案
bufferedreader
br =
newbufferedreader
(new
inputstreamreader
(system.in
));
bufferedwriter
bw =
newbufferedwriter
(new
filewriter
("b.txt"
));
鳥哥Java學習之Object類 物件導向
1.object 所有類的根類,是不斷抽取而來的。具備著所有物件都具備的共性內容。2.equals 單單判斷物件位址相等否無太大意義,一般都會覆蓋此方法,根據物件的特有內容,建立判斷物件是否相同的依據。public class equals object obj 多型 personp person ...
java學習之IO流2
讀取鍵盤輸入 示例1 下圖中第3行建立位元組讀取流物件,獲取鍵盤讀取流system.in。第4行使用位元組讀取流的read 方法來讀鍵盤資料。第5行進行輸出。private static void readkey1 throws ioexception 示例2 下圖中使用迴圈讀取鍵盤輸入的資料。當鍵...
java之IO流學習(三)
這兩個哥們也生了好多崽,操作檔案嘛,當然就有fileinputstream和fileoutputstream了,如何更加的高效呢,包裝一下吧,裝個逼,bufferedinputstream和bufferedoutputstream。public static void main string arg...