




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四Java输入输出流1.实验目的(1)掌握输入输出流的总体结构;(2)掌握流的概念;(3)了解各种流〔包括文件流、过滤流、对象的序列化、随机访问〕的使用。2.实验内容实验题1编写一个JavaApplication程序,打印命令行输入的所有参数。[根本要求]编写完整程序。运行结果:代码如下:importjava.util.Scanner;publicclassCommandOutPut{/** *@paramargs */publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub System.out.println("Pleaseinput:"); Scannerin=newScanner(System.in); Stringstr=in.nextLine(); System.out.println("Theoutputresults:"); System.out.println(str); in.close(); }}实验题2通过键盘输入路径,搜索指定路径下的全部内容。运行结果:代码如下:package.output;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;publicclassOutput{/** *@paramargs *@throwsIOException */publicstaticvoidmain(String[]args)throwsIOException{//TODOAuto-generatedmethodstub StringfileName="d:\\xxx.txt"; Filefile=newFile(fileName);byte[]b=newbyte[(int)file.length()]; FileInputStreamout=newFileInputStream(file); out.read(b); out.close(); Strings=newString(b);//将字节流转换为字符串 System.out.println(s);}}实验题3设计一个类FileRWTest,实现从input.txt文件中读入数据到字符数组cBuffer中,然后再写入到文件“output.txt〞中。运行结果:代码:package.fileRWTester;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;publicclassFileRWTest{/** *@paramargs *@throwsIOException */publicstaticvoidmain(String[]args)throwsIOException{//TODOAuto-generatedmethodstub BufferedReadersource=newBufferedReader(newFileReader("d:\\input.txt")); BufferedWritertarget=newBufferedWriter(newFileWriter("d:\\output.txt"));//byte[]cBuffer=newbyte[(int)((CharSequence)source).length()]; Stringtemp=null;////将字节流转换为字符串while((temp=source.readLine())!=null){ target.write(temp); target.newLine(); target.flush(); } source.close(); target.close(); }}实验题4建立一个书籍信息的文本文件,其中包括编号、书籍名称、版本、价格、销售额字段及5本书籍的记录。编写程序读入书籍信息文件并将第3本、第4本书籍价格分别增加20和30,再将修改后的书籍信息文件输出到另一个文本文件中〔文件名称为book.txt〕。文本文件book.txt内容如下:编号名称版本价格销售额 1001 Java程序设计 第2版 56.9 560 1002 Java开发实战 第1版 98.9 820 1003 C++程序设计指南 第3版 62.5 362 1004 EJB3.0入门经典 第1版 59.8 1280 1005Spring3.0inAction 第3版 95.8 1189设计思路:首先建立一个Book类,定义属性privateStringnum,privateStringname,privateStringedition,privateFloatprice,privateFloatslaes,在主函数中创立5个实例,并把值赋给Stringtext,然后调用target.write()函数写入文件book里。运行结果:检测是否写入,用read()函数读出:代码:package.Input.tester;importjava.io.BufferedWriter;importjava.io.FileWriter;importjava.io.IOException;import.Input.clas.Book;publicclassInputTester{/** *@paramargs *@throwsIOException */publicstaticvoidmain(String[]args)throwsIOException{//TODOAuto-generatedmethodstub Bookb1=newBook("1001","Java程序设计","第2版",56.9F,560f); Bookb2=newBook("1002","Java开发实战","第1版",98.9f,820f); Bookb3=newBook("1003","C++程序设计指南","第3版",62.5f,362f); Bookb4=newBook("1004","EJB3.0入门经典","第1版",59.8f,1280f); Bookb5=newBook("1005","Spring3.0inAction","第3版",95.8f,1189f); Book[]books={b1,b2,b3,b4,b5}; Stringtext=null;for(intindex=0;index<books.length;++index){ text+=books[index]; text+='\n'; } BufferedWritertarget=newBufferedWriter(newFileWriter("d:\\book.txt")); target.write(text); target.flush(); }}问题:忘记在Book类中些toString函数,故导致每次写入都不是想要写入的东西。实验题5有四个类,主类Store在包中,Mobile、Mp3Player、Product在包.data中,Mobile、Mp3Player是Product类的子类,Product类实现Seralizable接口。根本要求:〔1〕在Store类中用ObjectOutputStream类的对象把Mobile、Mp3Player类对象输出到文件“product.txt〞中。〔2〕在Store类中用ObjectInputStream类的对象从文件“product.txt〞输入数据并将其输出。实验设计:在product中重写writeObject和raedObject函数,并在主函数中调用writeObject和raedObject函数对文件读写。实验结果:写入文件的从文件中读出的:代码:Product中的writeObject和raedObject函数:privatevoidwriteObject(ObjectOutputStreamoos)throwsIOException{ oos.defaultWriteObject(); oos.writeBytes(getName()); oos.writeFloat(getPrice()); }privatevoidreadObject(ObjectInputStreamois)throwsIOException, ClassNotFoundException{ ois.defaultReadObject(); }主函数:package.nwsuaf.jp.p4;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;import.nwsuaf.jp.p4.data.Mobile;import.nwsuaf.jp.p4.data.Mp3Player;publicclassStore{/** *@paramargs */publicstaticvoidmain(String[]args)throwsIOException, ClassNotFoundException{try{ Mp3Playerp1=newMp3Player("MeizoX3(256MB)",399.0f); Mp3Playerp2=newMp3Player("MeizoE5(512MB)",580.0f); Mp3Playerp3=newMp3Player("XliveXMMp3Play(256MB)",930.0f); Mobilem1=newMobile("E365onChinaMobile",1780.0f); Mobilem2=newMobile("E3330onChinaMobile",1450.0f); ObjectOutputStreamoos=newObjectOutputStream(newFileOutputStream("d:\\product.txt")); oos.writeObject(p1); oos.writeObject(p2); oos.writeObject(p3); oos.writeObject(m1); oos.writeObject(m2); oos.close(); ObjectInputStreamois=newObjectInputStream(newFileInputStream("d:\\product.txt"));while((ois.readObject())!=null){ System.out.println
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度自然人个人家政服务借款合同生效与责任承担
- 二零二五年度建筑企业环境保护责任合同书
- 二零二五年度小型个体户咖啡厅员工劳动合同范本
- 窑炉维修合同范本
- 网签合同范本
- 2025至2031年中国钢化玻璃盆行业投资前景及策略咨询研究报告
- 社交网络中青少年的信息获取习惯与心理健康研究
- 2025至2031年中国氟塑料衬里电动截止阀行业投资前景及策略咨询研究报告
- 体育中介服务合同范本
- 2025至2031年中国巧克力香蕉麦条行业投资前景及策略咨询研究报告
- 五级应急救援员职业鉴定考试题库(含答案)
- 【初中+数学】+专题复习课+圆中的折叠课件+苏科版数学九年级上册
- (正式版)JB∕T 14732-2024 中碳和中碳合金钢滚珠丝杠热处理技术要求
- 四川省既有居住小区改造技术标准
- 慢性血栓栓塞性肺动脉高压诊断与治疗指南(2024版)解读
- 2024年南京科技职业学院单招职业适应性测试题库完整
- 小学生国家文化安全教育
- 2024年常州工业职业技术学院单招职业技能测试题库及答案解析
- AQ-T 3002-2021阻隔防爆橇装式加油(气)装置技术要求
- 绿植租摆投标方案
- 新闻编辑学PDF蔡雯第四版
评论
0/150
提交评论