版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
11IO第1章字符publicpublicclassCharStreamDemopublicstaticvoidmain(String[]args)throwsIOException } 中publicstaticvoid Text()throwsIOException{FileInputStreamfis=newFileInputStream("c:\\cn.txt");intch=0;while((ch=fis.read())!=-1){}}publicstaticText()throwsIOExceptionFileOutputStreamfosnewFileOutputStream("c:\\cn.txt"); }}ASCII表。其中就是各種英文字符對應的編碼。1、ascii:一個字節(jié)中的7位就可以表示。對應的碼值都是正數(shù)。 000000002、iso-8859-1:拉丁碼表latin,用了一個字節(jié)用的8位。1- 1GBK:目前最常用的中文碼表,2萬的中文和符號。用兩個字節(jié)表示,其中的一部分文字,10Javacharcharca標準化,在每一個字節(jié)頭加入了編碼信息(api中查找)。對于我們開發(fā)而言;常見的編碼GBK GBK:2UTF-8:3文字--->(數(shù)字)a0110(數(shù)字)--->文字::就是把看不懂的內容,轉換成看懂的內容。0110 IO在IO開發(fā)過程中,我們傳輸最頻繁的數(shù)據(jù)為字符, IO||InputStream|-FileInputStream|OuputStream|FileOutputStream||Reader|FileReader(簡便的流|Writer|FileWriter(簡便的流Java中流名規(guī)范功能+類第2章轉換我們知道計算機底層數(shù)據(jù)的都是二進制數(shù)據(jù),而我們生活中的各種各樣的數(shù)據(jù),如何才能ASCII表。其中就是各種英文字符對應的編碼。1、ascii:一個字節(jié)中的7位就可以表示。對應的字節(jié)都是正數(shù)。0-xxxxxxx2、iso-8859-1:拉丁碼表latin,用了一個字節(jié)用的8位。1-xxxxxxx 1GBK:目前最常用的中文碼表,2萬的中文和符號。用兩個字節(jié)表示,其中的一部分文字,10Javacharcharca標準化,在每一個字節(jié)頭加入了編碼信息(api中查找)。對于我們開發(fā)而言;常見的編碼GBK 文字--->(數(shù)字)(數(shù)字)--->文字::就是把看不懂的內容,轉換成看懂的內容 的思想OutputStreamWriter的API介紹,OutputStreamWriter是字符流通向字節(jié)流的橋梁:可使用publicpublicstatic()throwsExceptionFileOutputStreamfos=newOutputStreamWriterosw=newOutputStreamWriter(fos,"utf-}其實在OutputStreamWriter流中自己的高效區(qū)當我們調用OutputStreamWriter對象的write方法時,會拿著字符到指定的碼表中進行查詢,把查到的字符編碼值轉成字節(jié)數(shù)存放到定的字符編碼表字節(jié)并將其為字符。它使用的字符集可以由名稱指定或顯式給定,或者可publicpublicclassInputStreamReaderDemopublicstaticvoidmain(String[]args)throwsIOException}publicstatic ()throws InputStreamin=new//InputStreamReaderisr=newInputStreamReader(in);這樣創(chuàng)建對象,會用本地默 InputStreamReaderisr=newInputStreamReader(in,"utf-intch=while((ch=isr.read())!=-1){}}}Writer|OutputStreamWriter ,Reader字符輸入流|InputStreamReader:(字節(jié)流→字符流(OutputStreamWriterInputStreamReaderFileWriterFileReader:作為子類,僅作為操作字符文件的便捷類存在。當操作的字符文件,InputStreamReaderisrnewInputStreamReader(newFileInputStream("a.txt"));//GBKInputStreamReaderisr=newInputStreamReader(newFileInputStream("a.txt"),"GBK");//FileReaderfr=newOutputStreamWriterosw=newOutputStreamWriter(newFileOutputStream(“a.txt”));OutputStreamWriterosw=newOutputStreamWriter(newFileOutputStream(“a.txt”),”GBK”);FileWriterfw=new字節(jié)--->--->字符:看不懂的--->看的懂的。需要讀。輸入流。字符--->編碼--->--->看不懂的。需要寫。輸出流。第3章序列化流與反序列化用于從流中對象的操作流ObjectInputStream 稱為反序列化流用于向流中寫入對象的操作流ObjectOutputStream 稱為序列化流ObjectOutputStream將Java對象的基本數(shù)據(jù)類型和圖形寫入OutputStream??梢允褂肙bjectInputStream(重構)對象。通過在流中使用文件可以實現(xiàn)對象的持久。注意:只能將支持java.io.Serializable接口的對象寫入流中publicpublicclassObjectStreamDemo ClassNotFoundException*將一個對 }publicstaticvoidwriteObj()throwsIOException FileOutputStreamfos=new??類ObjectOutputStreamoos=new }}publicpublicimplementsSerializableprivateStringprivateint}()(Stringname,intage)=this.age=}publicStringgetName()return}publicvoidsetName(Stringname)=}publicintgetAge()return}publicvoidsetAge(intage)this.age=}publicStringtoString()return [name="+name+",age="+age+}}ObjectInputStreamObjectOutputStreampublicpublicclassObjectStreamDemo ClassNotFoundException}publicstaticvoidreadObj()throwsIOException,ClassNotFoundException FileInputStreamfis=new ObjectInputStreamois=newobj=}}當一個對象要能被序列化,這個對象所屬的類必須實現(xiàn)Serializable化也會發(fā)生異常InvalidClasception。發(fā)生這個異常的原因如下:publicpublic implementsSerializable privatestaticfinallongserialVersionUID=privateStringname;privateintage; (){} (Stringname,intage)=name;this.age=age;}publicStringgetName()return}publicvoidsetName(Stringname)=}publicintgetAge()return}publicvoidsetAge(intage)this.age=}publicStringtoString()return [name="+name+",age="+age+}}transienttransient修飾了,序列化時這個屬性就不會被序列化了。public*給類顯implementsSerializablepublic*給類顯implementsSerializableprivateprivatestaticfinallongserialVersionUID=privatestaticStringprivatetransient/*瞬態(tài)*int ()} (Stringname,intage)=name;this.age=age;}publicStringgetName()return}publicvoidsetName(Stringname)=}publicintgetAge()return}publicvoidsetAge(intage)this.age=}publicStringtoString()return[name="+name+",age="+age+}}第4章打印打印流的概字節(jié)打印流字符打印流voidprint(Stringstr):voidprintln(Stringstr):需求:把指定的數(shù)據(jù),寫入到printFile.txt**1*2*3publicclassPrintWriterDemopublicstaticvoidmain(String[]args)throwsIOException//PrintWriterout=newPrintWriter(newFileWriter("printFile.txt"));PrintWriterout=newPrintWriter("printFile.txt");for(inti=0;i<5;i++){ }}}第5章commons-導入加入classpath的第jar包內的class文件才能在項目中使用1.lib mons-io.jar拷貝到lib文件mons-io.jar,BuildPath→AddtoBuildPathreadFileToString(Filefile):文件內容,并返回一個String;writeStringToFile(Filefile,Stringcontent)contentfilecopyFile(FilesrcFile,FiledestFile):文件copyDirectoryToDirectory(FilesrcDir,FiledestDir);文件夾**普通方式,完成文件publicclassCommonsIODemo01publicstaticvoidmain(String[]args)throwsIOException//method1("D:\\test.avi",通 FileUtils.copyFile(newFile("D:\\test.avi"),new}privatestaticvoidmethod1(Stringsrc,Stringdest)throwsIOException==byte[]buffer=newbyte[1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025云南昭通市農業(yè)科學院招聘2人備考題庫及答案詳解(易錯題)
- 2026江蘇揚州市新業(yè)人力資源服務有限公司招聘勞務派遣制工作人員1人備考題庫及一套參考答案詳解
- 2025北京京東方機器人有限公司招聘備考題庫附答案詳解
- 2026江西江鎢控股集團本部招聘審計專業(yè)管理人員3人備考題庫及答案詳解1套
- 2026中國地質調查局青島海洋地質研究所博士后招收備考題庫有完整答案詳解
- 2026內蒙古鄂爾多斯市東勝區(qū)第七小學招聘1人備考題庫附答案詳解
- 2026江西贛州市第二十中學春季學期頂崗教師招聘備考題庫含答案詳解
- 2025湖北恩施州恩施市福牛物業(yè)有限公司招聘15人備考題庫有完整答案詳解
- 2026安徽亳州市蒙城縣就業(yè)見習人員招募備考題庫及參考答案詳解1套
- 2026四川成都市青羊區(qū)中醫(yī)醫(yī)院招聘計劃第一批35人備考題庫有完整答案詳解
- 四川省南充市2024-2025學年部編版七年級上學期期末歷史試題
- 國有企業(yè)三位一體推進內控風控合規(guī)建設的問題和分析
- 急診預檢分診課件教學
- 2025年高二數(shù)學建模試題及答案
- 儲能集裝箱知識培訓總結課件
- 幼兒園中班語言《雪房子》課件
- 房地產(chǎn)項目開發(fā)管理方案
- 堆垛車安全培訓課件
- 貝林妥單抗護理要點
- 衛(wèi)生院關于成立消除艾滋病、梅毒、乙肝母嬰傳播領導小組及職責分工的通知
- 廣東省執(zhí)信中學、廣州二中、廣州六中、廣雅中學四校2025年高三物理第一學期期末學業(yè)水平測試試題
評論
0/150
提交評論