




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
李興華Java培訓系列課程內(nèi)存流本章學習目標掌握java.io包中類的繼承關(guān)系;掌握File類的使用,并且可以通過File類進行文件的創(chuàng)建、刪除、文件夾的列表等操作;掌握字節(jié)流或字符流操作文件內(nèi)容并區(qū)分出字節(jié)流與字符流的區(qū)別;掌握內(nèi)存操作操作流的使用;掌握對象序列化的作用以及Serializable接口、transient關(guān)鍵字的使用。掌握打印流及掃描流的使用;了解字符的主要編碼類型及亂碼產(chǎn)生原因;了解System類對IO的支持:System.out、System.err、System.in。內(nèi)存流在流的操作中除了進行文件的輸入與輸出操作之外,也可以針對于內(nèi)存進行同樣的操作。假設(shè)說現(xiàn)在某一種應(yīng)用,需要進行IO操作,但是又不希望在磁盤上產(chǎn)生一些文件的時候,就可以將內(nèi)存當作一個臨時文件進行操作。在Java中,針對于內(nèi)存操作提供有兩組類:字節(jié)內(nèi)存流:ByteArrayInputStream(內(nèi)存字節(jié)輸入流)、ByteArrayOutputStream(內(nèi)存字節(jié)輸出流);字符內(nèi)存流:CharArrayReader(內(nèi)存字符輸入流)、CharArrayWriter(內(nèi)存字符輸出流)。范例:實現(xiàn)一個小寫字母轉(zhuǎn)大寫字母的操作publicclassTestDemo{ publicstaticvoidmain(String[]args)throwsException{//此處直接拋出
Stringstr="&";//要求被轉(zhuǎn)換的字符串
//本次將通過內(nèi)存操作流實現(xiàn)轉(zhuǎn)換。先將數(shù)據(jù)保存在內(nèi)存流里面,而后從里面取出每一個數(shù)據(jù)
//將所有要讀取的數(shù)據(jù)設(shè)置到內(nèi)存輸入流之中,本次利用向上轉(zhuǎn)型為InputStream類實例化
InputStreaminput=newByteArrayInputStream(str.getBytes()); //為了能夠?qū)⑺械膬?nèi)存流數(shù)據(jù)取出,可以使用ByteArrayOutputStream OutputStreamoutput=newByteArrayOutputStream(); inttemp=0; //讀取每一個字節(jié)數(shù)據(jù)
//經(jīng)過此次循環(huán)之后,所有的數(shù)據(jù)都將保存在內(nèi)存輸出流對象之中
while((temp=input.read())!=-1){ //每次讀取一個數(shù)據(jù)
//將讀取進來的數(shù)據(jù)轉(zhuǎn)換為大寫字母,利用Character.toUpperCase()可以保證只轉(zhuǎn)換字母
output.write(Character.toUpperCase(temp)); //字節(jié)輸出流
}
System.out.println(output);//調(diào)用toString()方法
input.close(); //關(guān)閉輸入流
output.close(); //關(guān)閉輸出流
}}程序執(zhí)行結(jié)果:WWW.YOOTK.COM&WWW.MLDN.CN內(nèi)存流操作范例:實現(xiàn)文件的合并讀取public
classTestDemo{
public
static
voidmain(String[]args)throwsException{//異常簡化處理 FilefileA=newFile("D:"+File.separator+"infoa.txt");//文件路徑 FilefileB=newFile("D:"+File.separator+"infob.txt");//文件路徑 InputStreaminputA=newFileInputStream(fileA);//字節(jié)輸入流 InputStreaminputB=newFileInputStream(fileB);//字節(jié)輸入流 ByteArrayOutputStreamoutput=newByteArrayOutputStream();//內(nèi)存輸出流
int
temp=0; //每次讀取一個字節(jié)
while((temp=inputA.read())!=-1){//循環(huán)讀取數(shù)據(jù)
output.write(temp); //將數(shù)據(jù)保存到輸出流 }
while((temp=inputB.read())!=-1){//循環(huán)讀取數(shù)據(jù)
output.write(temp); //將數(shù)據(jù)保存到輸出流 }//現(xiàn)在所有的內(nèi)容都保存在了內(nèi)存輸出流里面,所有的內(nèi)容變?yōu)樽止?jié)數(shù)組取出
byte
data[]=output.toByteArray();//取出全部數(shù)據(jù)
output.close();//關(guān)閉輸出流
inputA.close();//關(guān)閉輸入流
inputB.close();//關(guān)閉輸入流 System.out.println(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中考英語總復(fù)習系統(tǒng)復(fù)習成績基石八上第6講Unit4-6省公開課一等獎百校聯(lián)賽賽課微課獲獎?wù)n件
- 新疆農(nóng)業(yè)大學《國際貿(mào)易實務(wù)雙語》2023-2024學年第二學期期末試卷
- 新疆維吾爾博爾塔拉蒙古自治州2025屆數(shù)學三下期末教學質(zhì)量檢測模擬試題含解析
- 2025至2031年中國禮品收音機行業(yè)投資前景及策略咨詢研究報告
- 新疆職業(yè)大學《輕化工程專題講座雙語》2023-2024學年第二學期期末試卷
- 邢臺市南和縣2024-2025學年數(shù)學五年級第二學期期末統(tǒng)考模擬試題含答案
- 2025-2030年中國LCD行業(yè)風險預(yù)測及投資前景規(guī)劃研究報告
- 2025-2030年中國OTDR光時域反射儀行業(yè)發(fā)展規(guī)劃分析及投資風險評估報告
- 甘肅省蘭州市西固區(qū)重點達標名校2024年中考數(shù)學全真模擬試題含解析
- 25年公司、項目部、各個班組安全培訓考試試題附解析答案可打印
- 校園安全管理的問題及對策研究
- PA66ROHS無鹵sgs報告環(huán)保報告
- 《送元二使安西》優(yōu)秀課件
- 中國與俄羅斯?jié)O業(yè)合作的潛力分析
- 2023年廣東省高中學生化學競賽試題與標準答案正式題(word可編輯版)
- 五年級心理健康教育課件-欣賞自己 全國通用(共19張PPT)
- 汽車輪胎教案
- 公司應(yīng)急組織體系
- 局部解剖學:第八章 血 管
- 電子政務(wù)與電子商務(wù)的關(guān)系探討
- 廚師菜品考核評分表201921
評論
0/150
提交評論