Day15 IO流

File類

  • java程序中的此類的一個對象筒捺,就對應(yīng)著硬盤中的一個文件或網(wǎng)絡(luò)中的一個資源吁断。
  • File file1 = new File("/home");File file2 = new File("d:\io\io1");
  • File既可以表示一個文件(.doc .xls .mp3 .avi .jpg .dat)男旗,也可以表示一個文件目錄!
  • File類的對象是與平臺無關(guān)的而咆。
  • File類針對于文件或文件目錄摇肌,只能進行新建、刪除媒役、重命名祝谚、上層目錄等等的操作。如果涉及到訪問文件的內(nèi)容酣衷,F(xiàn)ile是無能為力的交惯,只能使用IO流下提供的相應(yīng)的輸入輸出流來實現(xiàn)。
  • 常把File類的對象作為形參傳遞給相應(yīng)的輸入輸出流的構(gòu)造器中穿仪!

IO 流的結(jié)構(gòu)

IO流分類

IO流的劃分

  1. 按照流的流向的不同:輸入流 輸出流 (站位于程序的角度)
  2. 按照流中的數(shù)據(jù)單位的不同:字節(jié)流 字符流 (純文本文件使用字符流 席爽,除此之外使用字節(jié)流)
  3. 按照流的角色的不同:節(jié)點流 處理流 (流直接作用于文件上是節(jié)點流(4個),除此之外都是處理流)

緩沖流(處理流的一種,可以提升文件操作的效率)

1.從硬盤中讀入一個文件啊片,要求此文件一定得存在只锻。若不存在,報FileNotFoundException的異常
2.從程序中輸出一個文件到硬盤紫谷,此文件可以不存在齐饮。若不存在,就創(chuàng)建一個實現(xiàn)輸出笤昨。若存在祖驱,則將已存在的文件覆蓋
3.真正開發(fā)時,就使用緩沖流來代替節(jié)點流
4.最后要關(guān)閉相應(yīng)的流瞒窒。先關(guān)閉輸出流羹膳,再關(guān)閉輸入流。將此操作放入finally
BufferedReader (readLine()) (int read(char[] c))或String readLine()
注意想著使用flush()

轉(zhuǎn)換流:實現(xiàn)字節(jié)流與字符流之間的轉(zhuǎn)換

InputStreamReader:輸入時根竿,實現(xiàn)字節(jié)流到字符流的轉(zhuǎn)換陵像,提高操作的效率(前提是,數(shù)據(jù)是文本文件) ===>解碼:字節(jié)數(shù)組--->字符串
OutputStreamWriter:輸出時寇壳,實現(xiàn)字符流到字節(jié)流的轉(zhuǎn)換醒颖。 ===>編碼: 字符串---->字節(jié)數(shù)組

標(biāo)準(zhǔn)的輸入輸出流

System.in: 從鍵盤輸入數(shù)據(jù)
System.out:從顯示器輸出數(shù)據(jù)

打印流

(輸出流) PrintStream(處理字節(jié)) PrintWriter(處理字符)
可以使用System.setOut(PrintStream p)重新設(shè)置一下輸出的位置
PrintStream p = new PrintStream(new FileOutputStream("hello.txt"),true);

數(shù)據(jù)流(處理基本數(shù)據(jù)類型、String類壳炎、字節(jié)數(shù)組)

DataInputStream DataOutputStream
dos.writeInt(123456);
dis.readInt();

對象流(用來處理對象的)

對象的序列化機制:允許把內(nèi)存中的Java對象轉(zhuǎn)換成平臺無關(guān)的二進制流泞歉,從而允許把這種二進制流持久地保存在磁盤上逼侦,或通過網(wǎng)絡(luò)將這種二進制流傳輸?shù)搅硪粋€網(wǎng)絡(luò)節(jié)點。當(dāng)其它程序獲取了這種二進制流腰耙,就可以恢復(fù)成原來的Java對象

ObjectInputStream(Object readObject();)
ObjectOutputStream (void writeObject(Object obj))
如何創(chuàng)建流的對象:
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("person.txt")));
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("person.txt")));

實現(xiàn)序列化機制的對象對應(yīng)的類的要求:
①要求類要實現(xiàn)Serializable接口
②同樣要求類的所有屬性也必須實現(xiàn)Serializable接口
③要求給類提供一個序列版本號:private static final long serialVersionUID;
④屬性聲明為static 或transient的榛丢,不可以實現(xiàn)序列化

隨機存取文件流:RandomAccessFile

1既可以充當(dāng)一個輸入流,又可以充當(dāng)一個輸出流:public RandomAccessFile(File file, String mode)
2支持從文件的開頭讀取挺庞、寫入晰赞。若輸出的文件不存在,直接創(chuàng)建选侨。若存在掖鱼,則是對原有文件內(nèi)容的覆蓋。
3 支持任意位置的“插入”援制。
參考:http://blog.csdn.net/cynhafa/article/details/6882061
http://blog.sina.com.cn/s/blog_6400e5c50101qrhk.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末戏挡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子晨仑,更是在濱河造成了極大的恐慌褐墅,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洪己,死亡現(xiàn)場離奇詭異掌栅,居然都是意外死亡,警方通過查閱死者的電腦和手機码泛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門猾封,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人噪珊,你說我怎么就攤上這事晌缘。” “怎么了痢站?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵磷箕,是天一觀的道長。 經(jīng)常有香客問我阵难,道長岳枷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任呜叫,我火速辦了婚禮空繁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘朱庆。我一直安慰自己盛泡,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布娱颊。 她就那樣靜靜地躺著傲诵,像睡著了一般凯砍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拴竹,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天悟衩,我揣著相機與錄音,去河邊找鬼栓拜。 笑死座泳,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的菱属。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼舰罚,長吁一口氣:“原來是場噩夢啊……” “哼纽门!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起营罢,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤赏陵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后饲漾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝙搔,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年考传,在試婚紗的時候發(fā)現(xiàn)自己被綠了吃型。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡僚楞,死狀恐怖勤晚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情泉褐,我是刑警寧澤赐写,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站膜赃,受9級特大地震影響挺邀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜跳座,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一端铛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧疲眷,春花似錦沦补、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虚倒。三九已至,卻和暖如春产舞,著一層夾襖步出監(jiān)牢的瞬間魂奥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工易猫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留耻煤,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓准颓,卻偏偏與公主長得像哈蝇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子攘已,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容