JAVA 中的IO流.doc

JAVA 中的IO流.doc

ID:32020404

大?。?0.00 KB

頁數(shù):33頁

時間:2019-01-30

JAVA 中的IO流.doc_第1頁
JAVA 中的IO流.doc_第2頁
JAVA 中的IO流.doc_第3頁
JAVA 中的IO流.doc_第4頁
JAVA 中的IO流.doc_第5頁
資源描述:

《JAVA 中的IO流.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、JAVA?中的IO流32推薦一、流的概念??????流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一條不間斷的字節(jié)流,用來實現(xiàn)程序或進(jìn)程間的通信,或讀寫外圍設(shè)備、外部文件等。??????一個流,必有源端和目的端,它們可以是計算機(jī)內(nèi)存的某些區(qū)域,也可以是磁盤文件,甚至可以是Internet上的某個URL。???????流的方向是重要的,根據(jù)流的方向,流可分為兩類:輸入流和輸出流。用戶可以從輸入流中讀取信息,但不能寫它。相反,對輸出流,只能往輸入流寫,而不能讀它。??????實際上,流的源端和目的端可簡單地看成是字節(jié)的生產(chǎn)者和消費

2、者,對輸入流,可不必關(guān)心它的源端是什么,只要簡單地從流中讀數(shù)據(jù),而對輸出流,也可不知道它的目的端,只是簡單地往流中寫數(shù)據(jù)。???????形象的比喻——水流,文件======程序,文件和程序之間連接一個管道,水流就在之間形成了,自然也就出現(xiàn)了方向:可以流進(jìn),也可以流出.便于理解,這么定義流:流就是一個管道里面有流水,這個管道連接了文件和程序。二、流的分類1.java.io包中的類對應(yīng)兩類流,一類流直接從指定的位置(如磁盤文件或內(nèi)存區(qū)域)讀或?qū)?,這類流稱為結(jié)點流(nodestream),其它的流則稱為過濾器(filters)。過濾器輸入流往往是以其它輸入流作為它的輸

3、入源,經(jīng)過過濾或處理后再以新的輸入流的形式提供給用戶,過濾器輸出流的原理也類似。2.Java的常用輸入、輸出流java.io包中的stream類根據(jù)它們操作對象的類型是字符還是字節(jié)可分為兩大類:字符流和字節(jié)流。?·Java的字節(jié)流InputStream是所有字節(jié)輸入流的祖先,而OutputStream是所有字節(jié)輸出流的祖先?!ava的字符流Reader是所有讀取字符串輸入流的祖先,而writer是所有輸出字符串的祖先。結(jié)合開始所說的輸入/輸出流,出現(xiàn)了個一小框架。????????????????????字節(jié)流????????????????????????字符

4、流輸入流???????InputStream??????????????Reader輸出流???????OutputStream???????????WriterJAVA字節(jié)流·FileInputStream和FileOutputStream這兩個類屬于結(jié)點流,第一個類的源端和第二個類的目的端都是磁盤文件,它們的構(gòu)造方法允許通過文件的路徑名來構(gòu)造相應(yīng)的流。如:FileInputStreaminfile=newFileInputStream("myfile.dat");FileOutputStreamoutfile=newFileOutputStream("res

5、ults.dat");要注意的是,構(gòu)造FileInputStream,對應(yīng)的文件必須存在并且是可讀的,而構(gòu)造FileOutputStream時,如輸出文件已存在,則必須是可覆蓋的。·BufferedInputStream和BufferedOutputStream它們是過濾器流,其作用是提高輸入輸出的效率。·DataInputStream和DataOutputStream這兩個類創(chuàng)建的對象分別被稱為數(shù)據(jù)輸入流和數(shù)據(jù)輸出流。這是很有用的兩個流,它們允許程序按與機(jī)器無關(guān)的風(fēng)格讀寫Java數(shù)據(jù)。所以比較適合于網(wǎng)絡(luò)上的數(shù)據(jù)傳輸。這兩個流也是過濾器流,常以其它流如Input

6、Stream或OutputStream作為它們的輸入或輸出。Java的字符流???字符流主要是用來處理字符的。Java采用16位的Unicode來表示字符串和字符,對應(yīng)的字符流按輸入和輸出分別稱為readers和writers?!nputStreamReader和OutputStreamWriter在構(gòu)造這兩個類對應(yīng)的流時,它們會自動進(jìn)行轉(zhuǎn)換,將平臺缺省的編碼集編碼的字節(jié)轉(zhuǎn)換為Unicode字符。對英語環(huán)境,其缺省的編碼集一般為ISO8859-1?!ufferedReader和BufferedWriter這兩個類對應(yīng)的流使用了緩沖,能大大提高輸入輸出的效率。

7、這兩個也是過濾器流,常用來對InputStreamReader和OutputStreamWriter進(jìn)行處理。如:importjava.io.*;publicclassEcho{?publicstaticvoidmain(String[]args){???BufferedReaderin=?????newBufferedReader(???????newInputStreamReader(System.in));???Strings;???try{?????while((s=in.readLine()).length()!=0)???????System.out

8、.println(s);

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。