实验04-Java输入输出流报告.doc

上传人:wj 文档编号:1973155 上传时间:2023-05-02 格式:DOC 页数:8 大小:229KB
下载 相关 举报
实验04-Java输入输出流报告.doc_第1页
第1页 / 共8页
实验04-Java输入输出流报告.doc_第2页
第2页 / 共8页
实验04-Java输入输出流报告.doc_第3页
第3页 / 共8页
实验04-Java输入输出流报告.doc_第4页
第4页 / 共8页
实验04-Java输入输出流报告.doc_第5页
第5页 / 共8页
实验04-Java输入输出流报告.doc_第6页
第6页 / 共8页
实验04-Java输入输出流报告.doc_第7页
第7页 / 共8页
实验04-Java输入输出流报告.doc_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验04-Java输入输出流报告.doc

《实验04-Java输入输出流报告.doc》由会员分享,可在线阅读,更多相关《实验04-Java输入输出流报告.doc(8页珍藏版)》请在冰点文库上搜索。

实验04-Java输入输出流报告.doc

实验四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通过键盘输入路径,搜索指定路径下的全部内容。

运行结果:

代码如下:

packagecn.edu.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”中。

运行结果:

代码:

packagecn.edu.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()函数读出:

代码:

packagecn.edu.Input.tester;

importjava.io.BufferedWriter;

importjava.io.FileWriter;

importjava.io.IOException;

importcn.edu.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

text+=books[index];

text+='\n';

}

BufferedWritertarget=newBufferedWriter(newFileWriter(

"d:

\\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.FileInputStream;

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.ObjectInputStream;

importjava.io.ObjectOutputStream;

importcn.edu.nwsuaf.jp.p4.data.Mobile;

importcn.edu.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(ois.readObject());

}

ois.close();

}catch(Exceptione){

e.printStackTrace();

}

}

}

三、实验总结:

通过本次试验,掌握了输入输出流的简单用法,但运用不是很熟练,不看书很难编写下去。

学习使用对象流,但对重写writeObject和raedObject函数掌握不是很好,还未做到熟练应用。

好的一点是,对toString函数可以熟练地掌握,并且能够自己发现错误,找到错误,并改正错误,虽然编写的很辛苦,但还是蛮有收获感的!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2