第4天properties、序列化流commonsio與反_第1頁(yè)
第4天properties、序列化流commonsio與反_第2頁(yè)
第4天properties、序列化流commonsio與反_第3頁(yè)
第4天properties、序列化流commonsio與反_第4頁(yè)
第4天properties、序列化流commonsio與反_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

17IOPropertiescommons-Properties1、Hashtable的子類(lèi),mapload(InputStream)把指定流所對(duì)應(yīng)的文件中的數(shù)據(jù)出來(lái),保存到Propertie集合,, commonts *Properties集合,它是唯一一個(gè)能與IO*需求:向PropertiespublicObjectsetProperty(StringkeyStringvalue)HashtableputpublicSet<String>stringPropertyNames()publicStringgetProperty(Stringkey)publicclassPropertiesDemo01publicstaticvoidmain(String[]args)Propertiesprop=new//prop.put(key,value); "," ", ", Set<String>keys=for(Stringkey:keys)//Stringvalue=prop.getProperty(key);System.out.println(key+"=="+value);}}}需求:使用Properties集合,完成把集合內(nèi)容到IO流所對(duì)應(yīng)文件中的操作1Properties publicpublicclassPropertiesDemo02publicstaticvoidmain(String[]args)throwsIOException//1,創(chuàng)建PropertiesPropertiesprop=new "," ", ", FileWriterout=new prop.store(out,"save}}perties中取出數(shù)據(jù),保存到集合中3,把流所對(duì)應(yīng)文件中的數(shù)據(jù)到集合 把指定流所對(duì)應(yīng)的文件中的數(shù)據(jù),出來(lái),保存到Propertie集合publicclasspublicclassPropertiesDemo03publicstaticvoidmain(String[]args)throwsIOExceptionPropertiesprop=newFileInputStreamin=new//FileReaderin=new }}用于從流中對(duì)象的操作流ObjectInputStream 稱為反序列化流用于向流中寫(xiě)入對(duì)象的操作流 稱為序列化ObjectOutputStream將Java對(duì)象的基本數(shù)據(jù)類(lèi)型和圖形寫(xiě)入OutputStream??梢允褂肙bjectInputStream(重構(gòu))對(duì)象。通過(guò)在流中使用文件可以實(shí)現(xiàn)對(duì)象的持久。注意:只能將支持java.io.Serializable接口的對(duì)象寫(xiě)入流中publicpublicclassObjectStreamDemo ClassNotFoundException*將一個(gè)對(duì) publicpublicimplementsSerializableprivateStringprivateint}()(Stringname,intage)=this.age=}publicStringgetName()return}publicvoidsetName(Stringname)=}publicintgetAge()return}publicvoidsetAge(intage)this.age=}publicStringtoString()return [name="+name+",age="+age+}}類(lèi)}publicstaticvoidwriteObj()throwsIOException FileOutputStreamfos=newObjectOutputStreamoos=new }}ObjectInputStream對(duì)以前使用ObjectOutputStream寫(xiě)入的基本數(shù)據(jù)和對(duì)象進(jìn)行反序列化。支持java.io.Serializable接口的對(duì)象才能從流。publicpublicclassObjectStreamDemo ClassNotFoundException}publicstaticvoidreadObj()throwsIOException,ClassNotFoundException FileInputStreamfis=new ObjectInputStreamois=newobj=}}當(dāng)一個(gè)對(duì)象要能被序列化,這個(gè)對(duì)象所屬的類(lèi)必須實(shí)現(xiàn)Serializable化也會(huì)發(fā)生異常InvalidClasception。發(fā)生這個(gè)異常的原因如下:Serializable標(biāo)記接口。該接口給需要序列化的類(lèi),提供了一個(gè)序列版本號(hào)。serialVersionUID.該public 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修飾了,序列化時(shí)這個(gè)屬性就不會(huì)琲序列化了。public*public*implementsSerializableprivatestaticfinallongserialVersionUID=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+}}字節(jié)打印流字符打印流voidprint(Stringstr):voidprintln(Stringstr):需求:把指定的數(shù)據(jù),寫(xiě)入到printFile.txt**1*2*3publicclassPrintWriterDemopublicstaticvoidmain(String[]args)throwsIOException//PrintWriterout=newPrintWriter(newFileWriter("printFile.txt"));PrintWriterout=newPrintWriter("printFile.txt");for(inti=0;i<5;i++){ }}}publicPrintWriter(OutputStreamout,booleanautoFlush)publicPrintWriter(Writerout,booleanautoFlush)*1*2publicclassPrintWriterDemo2publicstaticvoidmain(String[]args)throwsIOExceptionPrintWriterout=newPrintWriter(newFileWriter("printFile.txt"),for(inti=0;i<5;i++){ }}}導(dǎo)入加入classpath的第jar包內(nèi)的class文件才能在項(xiàng)目中使用lib文件夾commons-io.jarlibcommons-io.jar,BuildPath→AddtoBuildPathgetExtension(Stringpath):獲取文件的擴(kuò)展名;itension(StringfileName,Stringext):判斷fileName是否是ext后綴名readFileToString(File writeStringToFile(Filefile,Stringcontent)contentfilecopyDirectoryToDirectory(FilesrcDir,FiledestDir);文件夾copyFileToFile(FilesrcFile,FiledestFile);文件夾**publicclassCommonsIODemo01publicstaticvoidmain(String[]args)throwsIOException//method1("D:\\test.avi",通 FileUtils.copyFile(newFile("D:\\test.avi"),new}privatestaticvoidmethod1(Stringsrc,Stringdest)throwsIOException==byte[]buffer=newbyte[1024];intlen=-1;while((len=in.read(buffer))!=-1)out.write(buffer,0,}}}*publicclassCommonsIODemo02publicstaticvoidmain(String[]args)throwsIOException通 FileUtils.copyFile(newFile("D:\\test.avi"),new通通 到C:\\abc文件夾}}File("D:\\基礎(chǔ)班IOFileInputStreamObjectInputStreamFileOutputStreamBufferedOutputStreamObjectOuputStreamPrintStreamFileReaderBufferedReaderFileWriterBufferedWriterPrintWriterread()read(byte[]char[readObject()從流中對(duì)象(ObjectInputStream特有方法write(int)write(bytechar[write(String)writeObject(ObjectObjectOutputStream3,文件的過(guò)5,F(xiàn)ile FileFile判斷是否為文件 創(chuàng)建文件夾mkdir()創(chuàng)建文 throws異throw|load(InputStreaminload(Readerinstore(OutputStreamoutStringmessagestore(Writerout,Stringmessage)把集合中的數(shù)據(jù),寫(xiě)入到流所對(duì)應(yīng)的文FileOutputStream(Filefile,booleanFileOutputStream(StringfileName,booleanFileWriter(File,booleanFileWriter(StringfileName,booleanPrintStream(OutputStreamout,booleanPrin

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論