鳥哥Java學習之IO流

2021-07-12 06:57:02 字數 1355 閱讀 9196

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...