fileinputstream底層原理詳解 bufferreader使用方法?
bufferreader使用方法?Buff序列化流一個(gè)文件只能放一個(gè)對(duì)象嗎?答::只能將一個(gè)對(duì)象放入一個(gè)文件中。因?yàn)樵谧x寫(xiě)可序列化對(duì)象時(shí),使用了ObjectOutputStream和ObjectInp
bufferreader使用方法?
Buff
序列化流一個(gè)文件只能放一個(gè)對(duì)象嗎?
答::只能將一個(gè)對(duì)象放入一個(gè)文件中。因?yàn)樵谧x寫(xiě)可序列化對(duì)象時(shí),使用了ObjectOutputStream和ObjectInputStream類(lèi),而這兩個(gè)類(lèi)的方法只使用readObject()來(lái)讀取對(duì)象,也就是說(shuō)這可以讀取一個(gè)對(duì)象,API就是這么表述的。
datainputstream可以讀取什么文件?
他主要看的文件是系統(tǒng)中存儲(chǔ)的各種文件和處理過(guò)的文件。
idea中fileinputstream如何寫(xiě)入?
#34r
FileInputStream的read()方法一次讀取一個(gè)字節(jié)并返回?
從輸入流中讀取下一個(gè)字節(jié)的數(shù)據(jù)。返回0到255范圍內(nèi)的整數(shù)字節(jié)值。如果因?yàn)橐呀?jīng)到達(dá)流的末尾而沒(méi)有可用的字節(jié),則返回值為-1。我們需要使用一個(gè)可以 t出現(xiàn)在數(shù)據(jù)中以表示流的結(jié)尾。在Java中,-1用來(lái)表示這一端,因?yàn)?1不會(huì)出現(xiàn)在數(shù)據(jù)中。如果返回byte,它可以 也不代表流的結(jié)尾。byte的取值范圍是-128到127,這個(gè)范圍內(nèi)的所有數(shù)據(jù)都可能出現(xiàn)在數(shù)據(jù)中。read()方法需要返回一個(gè)特殊的值來(lái)表示流的結(jié)束。這個(gè)值可以 t與流中的數(shù)據(jù)重復(fù),read()方法在內(nèi)部將讀取的字節(jié)的所有高位變成int返回,從而做到這一切。數(shù)據(jù)都會(huì)是正數(shù),那么可以用-1來(lái)表示流的結(jié)束,只要把變化的數(shù)據(jù)強(qiáng)轉(zhuǎn)換回byte就可以得到原來(lái)的數(shù)據(jù)。也就是說(shuō),你把一個(gè)字節(jié)的數(shù)據(jù)和java里的字節(jié)數(shù)據(jù)搞混了。