NO.30 基本IO操作

InputStream與OutputStream 類(lèi):

流按照功能分為:輸入流(input)----用來(lái)讀取數(shù)據(jù);輸出流(output)----用來(lái)寫(xiě)出數(shù)據(jù)

流分類(lèi)為:節(jié)點(diǎn)流和處理流

節(jié)點(diǎn)流:節(jié)點(diǎn)流又稱(chēng)為低級(jí)流,是真實(shí)負(fù)責(zé)讀寫(xiě)的流,是連接程序與數(shù)據(jù)源的"管道",負(fù)責(zé)將數(shù)據(jù)搬運(yùn)。讀寫(xiě)一定是基于低級(jí)流完成的。

? ? 特點(diǎn):數(shù)據(jù)源明確(知道數(shù)據(jù)從哪里來(lái),或者數(shù)據(jù)寫(xiě)到哪里去)

處理流:處理流不能獨(dú)立存在,必須基于另一個(gè)流進(jìn)行讀或?qū)?,目的是通過(guò)處理流提供的讀寫(xiě)功能簡(jiǎn)化我們對(duì)實(shí)際讀寫(xiě)數(shù)據(jù)的操作。


文件流:用來(lái)讀寫(xiě)文件數(shù)據(jù)的流,文件流是一對(duì)低級(jí)流論功能與RandomAccessFile一致,都是用來(lái)讀寫(xiě)文件數(shù)據(jù)的流,但是區(qū)別在于實(shí)際底層的讀寫(xiě)實(shí)現(xiàn)方式不同,RAF是基于指針進(jìn)行讀寫(xiě)的。文件流是基于流式讀寫(xiě)的。

輸出流寫(xiě)出


輸入流讀取

輸入輸出流復(fù)制文件:

流復(fù)制操作

緩沖流: BufferedInputStream----緩沖輸入流,提高讀取效率 BufferedOutputStream----緩沖輸出流,提高寫(xiě)出效率

相比于其他單字節(jié)寫(xiě)入寫(xiě)出復(fù)制操作速度快了許多

緩沖輸出流寫(xiě)出數(shù)據(jù)的緩沖區(qū)問(wèn)題:

手動(dòng)寫(xiě)出

對(duì)象流:對(duì)象流是一對(duì)高級(jí)流,作用是方便讀寫(xiě)java中的對(duì)象。

為方便測(cè)試,創(chuàng)建一個(gè)Person類(lèi):

還有各字段的get、set方法以及toString、equals方法沒(méi)有寫(xiě)出,可通過(guò)eclipse自動(dòng)生成

java.io.ObjectOutputStream

對(duì)象輸出流,可以將給定的對(duì)象轉(zhuǎn)換為一組字節(jié),然后通過(guò)其處理的流將這組字節(jié)寫(xiě)出

將一個(gè)對(duì)象通過(guò)對(duì)象列轉(zhuǎn)換為字節(jié)后并寫(xiě)入文件的操作涉及兩個(gè)專(zhuān)業(yè)名詞:

1)對(duì)象序列化----對(duì)象序列化就是將一個(gè)java中的對(duì)象按照其結(jié)構(gòu)轉(zhuǎn)化為一組字節(jié)的過(guò)程(對(duì)象輸出流完成)

2)持久化----將一組字節(jié)寫(xiě)入文件(硬盤(pán)上)的過(guò)程成為持久化

寫(xiě)入文件

java.io.ObjectInputStream

對(duì)象輸入流,用于反序列化對(duì)象

讀出文件
最后編輯于
?著作權(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)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)自 http://www.ibm.com/developerworks/cn/education/java/j-...
    抓兔子的貓閱讀 2,511評(píng)論 0 22
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,897評(píng)論 18 399
  • Given a binary tree, flatten it to a linked list in-place...
    Jeanz閱讀 290評(píng)論 0 0
  • 小時(shí)候,經(jīng)歷漫長(zhǎng)的冬天,我總是盼著春天早早來(lái),好久才能等到粉紅桃花、雪白梨花開(kāi)。西安的春天卻是趕著來(lái)了,...
    3b43e72b4809閱讀 263評(píng)論 0 0
  • 一滴墨汁落在一杯清水里,這杯水立即變色,不能喝了;一滴墨汁融在大海里,大海依然是蔚藍(lán)色的大海。為什么?因?yàn)閮烧叩亩?..
    健國(guó)閱讀 139評(píng)論 0 0

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