实验04-Java输入输出流报告Word文件下载.doc
- 文档编号:3681762
- 上传时间:2023-05-02
- 格式:DOC
- 页数:8
- 大小:229KB
实验04-Java输入输出流报告Word文件下载.doc
《实验04-Java输入输出流报告Word文件下载.doc》由会员分享,可在线阅读,更多相关《实验04-Java输入输出流报告Word文件下载.doc(8页珍藏版)》请在冰点文库上搜索。
"
);
Scannerin=newScanner(System.in);
Stringstr=in.nextLine();
Theoutputresults:
System.out.println(str);
in.close();
}
}
实验题2通过键盘输入路径,搜索指定路径下的全部内容。
packagecn.edu.output;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
publicclassOutput{
*@throwsIOException
publicstaticvoidmain(String[]args)throwsIOException{
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”中。
代码:
packagecn.edu.fileRWTester;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.FileReader;
importjava.io.FileWriter;
publicclassFileRWTest{
BufferedReadersource=newBufferedReader(newFileReader("
\\input.txt"
));
BufferedWritertarget=newBufferedWriter(newFileWriter("
\\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()函数读出:
packagecn.edu.Input.tester;
importcn.edu.Input.clas.Book;
publicclassInputTester{
*@throwsIOException
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入门经典"
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(
"
\\book.txt"
target.write(text);
target.flush();
问题:
忘记在Book类中些toString函数,故导致每次写入都不是想要写入的东西。
实验题5有四个类,主类Store在包cn.edu.nwsuaf.jp.p4中,Mobile、Mp3Player、Product在包cn.edu.nwsuaf.jp.p4.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();
主函数:
packagecn.edu.nwsuaf.jp.p4;
importjava.io.FileOutputStream;
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;
importcn.edu.nwsuaf.jp.p4.data.Mobile;
importcn.edu.nwsuaf.jp.p4.data.Mp3Player;
publicclassStore{
publicstaticvoidmain(String[]args)throwsIOException,
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("
\\product.txt"
oos.writeObject(p1);
oos.writeObject(p2);
oos.writeObject(p3);
oos.writeObject(m1);
oos.writeObject(m2);
oos.close();
ObjectInputStreamois=newObjectInputStream(newFileInputStream(
"
while((ois.readObject())!
System.out.println(ois.readObject());
}
ois.close();
}catch(Exceptione){
e.printStackTrace();
三、实验总结:
通过本次试验,掌握了输入输出流的简单用法,但运用不是很熟练,不看书很难编写下去。
学习使用对象流,但对重写writeObject和raedObject函数掌握不是很好,还未做到熟练应用。
好的一点是,对toString函数可以熟练地掌握,并且能够自己发现错误,找到错误,并改正错误,虽然编写的很辛苦,但还是蛮有收获感的!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 04 Java 输入输出 报告