JAVA入門(mén)小小白學(xué)習(xí)中ing(IO初識(shí))

1、IO流的操作步驟

step1:確定數(shù)據(jù)從哪到哪。文件信息。

step2:創(chuàng)建流:

流向:輸入,輸出

單位:字節(jié),字符

子類(lèi)流:文件,內(nèi)存。。。。

step3:操作流

讀取數(shù)據(jù):輸入

read()

寫(xiě)出數(shù)據(jù):輸出

write()

step4:關(guān)閉流

close()

2、FileInputStream

用于以字節(jié)為單位,讀取文件中的數(shù)據(jù),到程序中。

1、構(gòu)造方法:

? ? FileInputStream(String name)

????????通過(guò)打開(kāi)與實(shí)際文件的連接來(lái)創(chuàng)建一個(gè) FileInputStream ,該文件由文件系統(tǒng)中的路徑名 name命名。

????FileInputStream(File file)

????????通過(guò)打開(kāi)與實(shí)際文件的連接創(chuàng)建一個(gè) FileInputStream ,該文件由文件系統(tǒng)中的 File對(duì)象 file命名。

????read()-->int

????????每次讀取一個(gè)字節(jié)。返回值就是讀入的數(shù)據(jù)本身。如果讀到文件的末尾了,-1。

????read(byte[] bs)-->int

????????每次讀取多個(gè)字節(jié),最多是bs數(shù)組的長(zhǎng)度個(gè)。返回值是本次讀取的實(shí)際的字節(jié)個(gè)數(shù)。如果到達(dá)末尾,-1.

????int read(byte[] bs, int off, int len)

從該輸入流讀取最多 len字節(jié)的數(shù)據(jù)為字節(jié)數(shù)組 。第一個(gè)參數(shù)表示要存儲(chǔ)本地讀取的數(shù)據(jù)的數(shù)組,第二個(gè)參數(shù),表示從哪個(gè)下標(biāo)開(kāi)始存儲(chǔ),第三個(gè)參數(shù)是表示本次讀取預(yù)計(jì)的讀取數(shù)量。該方法的返回值是本次讀取的實(shí)際數(shù)量。如果到達(dá)文件末尾,-1。



byte[] bs = new byte[3];//內(nèi)存資源

?

數(shù)據(jù)源:250個(gè)字節(jié)

數(shù)組:100個(gè)長(zhǎng)度

1次:100,剩150 讀取100個(gè)

2次:100,剩50 讀取100個(gè)

3次:50,讀完了 讀取50個(gè)

int read(byte[] bs) -->讀多個(gè),最多數(shù)組長(zhǎng)度,實(shí)際看返回值,數(shù)據(jù)在數(shù)組中,將讀取到的數(shù)據(jù)存入到數(shù)組中,默認(rèn)從頭開(kāi)始存儲(chǔ)。

?

在操作IO流讀取本地文件的數(shù)據(jù),提升效率。

硬盤(pán)和內(nèi)存

read()-->每次讀取一個(gè)數(shù)據(jù),

read(byte[] bs)--> 1000

每次讀取一個(gè)字節(jié):

使用字節(jié)數(shù)組作為緩沖區(qū),讀取數(shù)據(jù):

3、FileOutputStream

構(gòu)造方法:

FileOutputStream(String name) ,在文件開(kāi)頭寫(xiě),擦除寫(xiě)

創(chuàng)建文件輸出流以指定的名稱(chēng)寫(xiě)入文件。

FileOutputStream(String name, boolean append) ,在文件的末尾寫(xiě)數(shù)據(jù),追加

創(chuàng)建文件輸出流以指定的名稱(chēng)寫(xiě)入文件。

?

FileOutputStream(File file) ,在文件開(kāi)頭寫(xiě),擦除寫(xiě)

創(chuàng)建文件輸出流以寫(xiě)入由指定的 File對(duì)象表示的文件。

FileOutputStream(File file, boolean append) ,在文件的末尾寫(xiě)數(shù)據(jù),追加

創(chuàng)建文件輸出流以寫(xiě)入由指定的 File對(duì)象表示的文件。

寫(xiě)出去的數(shù)據(jù),是清空寫(xiě)。將文件中原來(lái)的數(shù)據(jù)全部擦除,從頭開(kāi)始寫(xiě)數(shù)據(jù)。

void write(int data),將參數(shù),這個(gè)字節(jié)數(shù)據(jù)寫(xiě)出去

void write(byte[] b),將 b.length個(gè)字節(jié)從指定的字節(jié)數(shù)組寫(xiě)入此文件輸出流。

void write(byte[] b, int off, int len) ,將 len字節(jié)從位于偏移量 off的指定字節(jié)數(shù)組寫(xiě)入此文件輸出流。 ?

String--->byte[]

String--->char[]


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容