位元組流 字元流
輸入流 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 由於計算機中儲存和傳輸資料是以位元組的形式,所以...