java中io系統(tǒng)詳解

java中io系統(tǒng)詳解

ID:19816142

大?。?2.50 KB

頁數(shù):22頁

時(shí)間:2018-10-06

java中io系統(tǒng)詳解_第1頁
java中io系統(tǒng)詳解_第2頁
java中io系統(tǒng)詳解_第3頁
java中io系統(tǒng)詳解_第4頁
java中io系統(tǒng)詳解_第5頁
資源描述:

《java中io系統(tǒng)詳解》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、java中的io系統(tǒng)詳解java中的io系統(tǒng)詳解相關(guān)讀書筆記、心得文章列表Java流在處理上分為字符流和字節(jié)流。字符流處理的單元為2個(gè)字節(jié)的Unicode字符,分別操作字符、字符數(shù)組或字符串,而字節(jié)流處理單元為1個(gè)字節(jié),操作字節(jié)和字節(jié)數(shù)組。Java內(nèi)用Unicode編碼存儲字符,字符流處理類負(fù)責(zé)將外部的其他編碼的字符流和java內(nèi)Unicode字符流之間的轉(zhuǎn)換。而類InputStreamReader和OutputStreamWriter處理字符流和字節(jié)流的轉(zhuǎn)換。字符流(一次可以處理一個(gè)緩沖區(qū))一次操作比字節(jié)流(一次

2、一個(gè)字節(jié))效率高。(一)以字節(jié)為導(dǎo)向的stream------InputStream/OutputStreamInputStream和OutputStream是兩個(gè)abstact類,對于字節(jié)為導(dǎo)向的stream都擴(kuò)展這兩個(gè)雞肋(基類^_^);1、InputStream1.1ByteArrayInputStream--把內(nèi)存中的一個(gè)緩沖區(qū)作為InputStream使用.construct---(A)ByteArrayInputStream(byte[])創(chuàng)建一個(gè)新字節(jié)數(shù)組輸入流(ByteArrayInputStrea

3、m),它從指定字節(jié)數(shù)組中讀取數(shù)據(jù)(使用byte作為其緩沖區(qū)數(shù)組)(B)---ByteArrayInputStream(byte[],int,int)創(chuàng)建一個(gè)新字節(jié)數(shù)組輸入流,它從指定字節(jié)數(shù)組中讀取數(shù)據(jù)。---mark::該字節(jié)數(shù)組未被復(fù)制。1.2StringBufferInputStream--把一個(gè)String對象作為InputStream.construct---StringBufferInputStream(String)據(jù)指定串創(chuàng)建一個(gè)讀取數(shù)據(jù)的輸入流串。注釋:不推薦使用StringBufferInputS

4、tream方法。此類不能將字符正確的轉(zhuǎn)換為字節(jié)。同JDK1.1版中的類似,從一個(gè)串創(chuàng)建一個(gè)流的最佳方法是采用StringReader類。1.3FileInputStream--把一個(gè)文件作為InputStream,實(shí)現(xiàn)對文件的讀取操作construct---(A)FileInputStream(Filename)創(chuàng)建一個(gè)輸入文件流,從指定的File對象讀取數(shù)據(jù)。(B)FileInputStream(FileDescriptor)創(chuàng)建一個(gè)輸入文件流,從指定的文件描述器讀取數(shù)據(jù)。(C)-FileInputStream(

5、Stringname)創(chuàng)建一個(gè)輸入文件流,從指定名稱的文件讀取數(shù)據(jù)。method----read()從當(dāng)前輸入流中讀取一字節(jié)數(shù)據(jù)。read(byte[])將當(dāng)前輸入流中b.length個(gè)字節(jié)數(shù)據(jù)讀到一個(gè)字節(jié)數(shù)組中。read(byte[],int,int)將輸入流中l(wèi)en個(gè)字節(jié)數(shù)據(jù)讀入一個(gè)字節(jié)數(shù)組中。1.4PipedInputStream:實(shí)現(xiàn)了pipe的概念,主要在線程中使用.管道輸入流是指一個(gè)通訊管道的接收端。一個(gè)線程通過管道輸出流發(fā)送數(shù)據(jù),而另一個(gè)線程通過管道輸入流讀取數(shù)據(jù),這樣可實(shí)現(xiàn)兩個(gè)線程間的通訊。cons

6、truct---PipedInputStream()創(chuàng)建一個(gè)管道輸入流,它還未與一個(gè)管道輸出流連接。PipedInputStream(PipedOutputStream)創(chuàng)建一個(gè)管道輸入流,它已連接到一個(gè)管道輸出流。1.5SequenceInputStream:把多個(gè)InputStream合并為一個(gè)InputStream.“序列輸入流”類允許應(yīng)用程序把幾個(gè)輸入流連續(xù)地合并起來,并且使它們像單個(gè)輸入流一樣出現(xiàn)。每個(gè)輸入流依次被讀取,直到到達(dá)該流的末尾。然后“序列輸入流”類關(guān)閉這個(gè)流并自動(dòng)地切換到下一個(gè)輸入流。cons

7、truct---SequenceInputStream(Enumeration)創(chuàng)建一個(gè)新的序列輸入流,并用指定的輸入流的枚舉值初始化它。SequenceInputStream(InputStream,InputStream)創(chuàng)建一個(gè)新的序列輸入流,初始化為首先讀輸入流s1,然后讀輸入流s2。2、OutputSteam2.1ByteArrayOutputStream:把信息存入內(nèi)存中的一個(gè)緩沖區(qū)中.該類實(shí)現(xiàn)一個(gè)以字節(jié)數(shù)組形式寫入數(shù)據(jù)的輸出流。當(dāng)數(shù)據(jù)寫入緩沖區(qū)時(shí),它自動(dòng)擴(kuò)大。用toByteArray()和toStri

8、ng()能檢索數(shù)據(jù)。constructor(A)---ByteArrayOutputStream()創(chuàng)建一個(gè)新的字節(jié)數(shù)組輸出流。(B)---ByteArrayOutputStream()創(chuàng)建一個(gè)新的字節(jié)數(shù)組輸出流。(C)---ByteArrayOutputStream(int)創(chuàng)建一個(gè)新的字節(jié)數(shù)組輸出流,并帶有指定大小字節(jié)的緩沖區(qū)容量。toString(St

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

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

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