版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
17IOPropertiescommons-Properties1、Hashtable的子类,mapload(InputStream)把指定流所对应的文件中的数据出来,保存到Propertie集合,, commonts *Properties集合,它是唯一一个能与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集合,完成把集合内容到IO流所对应文件中的操作1Properties publicpublicclassPropertiesDemo02publicstaticvoidmain(String[]args)throwsIOException//1,创建PropertiesPropertiesprop=new "," ", ", FileWriterout=new prop.store(out,"save}}perties中取出数据,保存到集合中3,把流所对应文件中的数据到集合 把指定流所对应的文件中的数据,出来,保存到Propertie集合publicclasspublicclassPropertiesDemo03publicstaticvoidmain(String[]args)throwsIOExceptionPropertiesprop=newFileInputStreamin=new//FileReaderin=new }}用于从流中对象的操作流ObjectInputStream 称为反序列化流用于向流中写入对象的操作流 称为序列化ObjectOutputStream将Java对象的基本数据类型和图形写入OutputStream。可以使用ObjectInputStream(重构)对象。通过在流中使用文件可以实现对象的持久。注意:只能将支持java.io.Serializable接口的对象写入流中publicpublicclassObjectStreamDemo ClassNotFoundException*将一个对 publicpublicimplementsSerializableprivateStringprivateint}()(Stringname,intage)=this.age=}publicStringgetName()return}publicvoidsetName(Stringname)=}publicintgetAge()return}publicvoidsetAge(intage)this.age=}publicStringtoString()return [name="+name+",age="+age+}}类}publicstaticvoidwriteObj()throwsIOException FileOutputStreamfos=newObjectOutputStreamoos=new }}ObjectInputStream对以前使用ObjectOutputStream写入的基本数据和对象进行反序列化。支持java.io.Serializable接口的对象才能从流。publicpublicclassObjectStreamDemo ClassNotFoundException}publicstaticvoidreadObj()throwsIOException,ClassNotFoundException FileInputStreamfis=new ObjectInputStreamois=newobj=}}当一个对象要能被序列化,这个对象所属的类必须实现Serializable化也会发生异常InvalidClasception。发生这个异常的原因如下:Serializable标记接口。该接口给需要序列化的类,提供了一个序列版本号。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修饰了,序列化时这个属性就不会琲序列化了。public*public*implementsSerializableprivatestaticfinallongserialVersionUID=privatestaticStringprivatetransient/*瞬态*int ()} (Stringname,intage)=name;this.age=age;}publicStringgetName()return}publicvoidsetName(Stringname)=}publicintgetAge()return}publicvoidsetAge(intage)this.age=}publicStringtoString()return[name="+name+",age="+age+}}字节打印流字符打印流voidprint(Stringstr):voidprintln(Stringstr):需求:把指定的数据,写入到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++){ }}}导入加入classpath的第jar包内的class文件才能在项目中使用lib文件夹commons-io.jarlibcommons-io.jar,BuildPath→AddtoBuildPathgetExtension(Stringpath):获取文件的扩展名;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:\\基础班IOFileInputStreamObjectInputStreamFileOutputStreamBufferedOutputStreamObjectOuputStreamPrintStreamFileReaderBufferedReaderFileWriterBufferedWriterPrintWriterread()read(byte[]char[readObject()从流中对象(ObjectInputStream特有方法write(int)write(bytechar[write(String)writeObject(ObjectObjectOutputStream3,文件的过5,File FileFile判断是否为文件 创建文件夹mkdir()创建文 throws异throw|load(InputStreaminload(Readerinstore(OutputStreamoutStringmessagestore(Writerout,Stringmessage)把集合中的数据,写入到流所对应的文FileOutputStream(Filefile,booleanFileOutputStream(StringfileName,booleanFileWriter(File,booleanFileWriter(StringfileName,booleanPrintStream(OutputStreamout,booleanPrin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度环保技术改造项目合同3篇
- 2025版煤炭物流仓储一体化服务合同模板4篇
- 2024珠宝销售合同
- 2025年度高新技术企业研发费用加计扣除代理合同3篇
- 2025年度销售合同信息共享与部门协同办公2篇
- 2025年度XX农业废弃物资源化利用与污水处理合同3篇
- 2024水电站电力输出及销售合同协议
- 2025年度环保型厂房出租与能源管理一体化服务合同3篇
- 二零二五年龄上限劳动合同规范样本2篇
- 二零二五年度风景名胜区草坪修剪与修复合同3篇
- MT/T 199-1996煤矿用液压钻车通用技术条件
- GB/T 6144-1985合成切削液
- GB/T 10357.1-2013家具力学性能试验第1部分:桌类强度和耐久性
- 第三方在线纠纷解决机制(ODR)述评,国际商法论文
- 第5章-群体-团队沟通-管理沟通
- 肾脏病饮食依从行为量表(RABQ)附有答案
- 深基坑-安全教育课件
- 园林施工管理大型园林集团南部区域养护标准图例
- 排水许可申请表
- 低血糖的观察和护理课件
- 计量检定校准技术服务合同协议书
评论
0/150
提交评论