IO流學習筆記

2021-10-08 23:45:32 字數 3688 閱讀 8088

位元組流                            字元流

輸入流 inputstream reader

輸出流 outputstream writer

檔案流:fileinputstream,filereader,fileoutputstream,filewriter

緩衝流:bufferedinputstream,bufferedreader(string readline()),bufferedoutputstream,bufferedwriter(void newline())

物件序列化 : 把物件的gc中的資料寫入到輸出流....

反序列化 : 把輸入流中的二進位制資料還原成物件..

物件的獲取 :

1) new

2) 工廠方法

3) 反序列化

4) 反射

常用的流 :

fileinputstream , fileoutputstream => 處理二進位制檔案

bufferedreader, bufferedwriter => 處理文字

inputstreamreader, outputstreamwriter => 處理文字

objectinputstream, objectoutputstream => 處理地二進位制

class

student

implements

serializable

public

student

(int id, string name,

int grade,

double score)

public

intgetid()

public

void

setid

(int id)

public string getname()

public

void

setname

(string name)

public

intgetgrade()

public

void

setgrade

(int grade)

public

double

getscore()

public

void

setscore

(double score)

@override

public string tostring()

';}}

public

class

iotest

system.out.

println

(line);}

}catch

(exception e)

finally

catch

(ioexception e)}}

}@test

public

void

testfilewriter()

catch

(exception e)

finally

catch

(exception e)}}

}@test

public

void

testfilereader()

}catch

(exception e)

finally

catch

(ioexception e)}}

}@test

public

void

test6()

*/ system.out.

println

(o);

}catch

(exception e)

finally

catch

(ioexception e)}}

}@test

public

void

test5()

;set

hashset =

newhashset()

; hashset.

add(s1)

; hashset.

add(s2)

; hashset.

add(s3)

; oos.

writeobject

(hashset);}

catch

(exception e)

finally

catch

(ioexception e)}}

}@test

public

void

test4()

throws unsupportedencodingexception

system.out.

println()

;byte

bytes2 = string.

getbytes

("gbk");

for(

int i =

0; i < bytes2.length; i++

) system.out.

println()

;// 解碼 : 位元組陣列 => 字串

string string1 =

newstring

(bytes1,

"utf8");

system.out.

println

(string1)

; string string2 =

newstring

(bytes2,

"gbk");

// 指定編碼方式進行解碼

system.out.

println

(string2)

;// 52946 -> 25105

}// 練習 : 寫乙個二進位制檔案, 寫入50個100以內的隨機int整數, 再寫乙個程式, 讀取這50個隨機數,並列印輸出.

@test

public

void

exer2()

}catch

(exception e)

finally

catch

(ioexception e)}}

}@test

public

void

exer1()

}catch

(exception e)

finally

catch

(ioexception e)}}

}@test

public

void

test2()

catch

(exception e)

finally

catch

(ioexception e)}}

}@test

public

void

test1()

catch

(exception e)

finally

catch

(ioexception e)}}

}}

IO流學習筆記

使用緩衝流時,不需要自定義位元組或字元陣列,緩衝流自帶有緩衝區。緩衝流是包裝流,關閉流時,只需要關閉外層的流,內部的流會自動關閉。通過轉換流可以將位元組流轉換為字元流 標準的輸出流,預設輸出到控制台,但是可以設定標準輸出流的輸出方向 呼叫setout方法 不需要手動呼叫close方法去關閉 資料流可...

Java學習筆記 IO流

inputstream和outputstream是抽象類,他們是所有位元組輸入流和輸出流的父類。public static void main string args throws ioexceptionpublic static void main string args throws ioexc...

Java學習筆記 IO流

流按操作型別分為兩種 位元組流與字元流。位元組流可以操作任何資料,字元流只能操作純字元資料,比較方便 位元組流 基本操作與字元流相同,位元組流可以操作任意型別資料 位元組流和字元流的區別 1 位元組流用來讀取位元組資料 2 字元流用來讀取字元資料 3 由於計算機中儲存和傳輸資料是以位元組的形式,所以...