实验四 Java 输入输出流
1.实验目的
(1) 掌握输入输出流的总体结构; (2) 掌握流的概念;
(3) 了解各种流(包括文件流、过滤流、对象的序列化、随机访问)的使用。
2.实验内容
实验题1 编写一个Java Application程序,打印命令行输入的所有参数。 [基本要求] 编写完整程序。 如图建立java project: 结果: 源代码:
package nwsuaf.edu.cn;
import java.util.Scanner;
public class PrintString {
public static void main(String[] args) {
Scanner reader =new Scanner(System.in); System.out.println(\输入你的名字:\); String name=reader.nextLine();
}
System.out.println(\输入你的年龄:\); String age=reader.nextLine(); System.out.println(\输入你的性别:\); String gender=reader.nextLine();
System.out.println(\名字:\+name+\年龄:\+age+\性别:\+gender); }
实验题2 通过键盘输入路径,搜索指定路径下的全部内容。
实验题3设计一个类FileRWTest,实现从input.txt文件中读入数据到字符数组cBuffer中,然后再写入到文件“output.txt”中。
如图建立java project
在根目录下建立对应文件夹
运行java程序之后
源代码:
package nwsuaf.edu.cn2;
import java.io.*;
public class FileRWTest { }
public static void main(String[] args) { }
// TODO Auto-generated method stub File sourceFile =new File(\); File targetFile =new File(\); char cBuffer[]=new char[100]; try { }
Writer out =new FileWriter(targetFile,true); Reader in =new FileReader(sourceFile); int n=-1;
while((n=in.read(cBuffer))!=-1) { }
out.flush(); out.close();
// TODO Auto-generated catch block e.printStackTrace();
out.write(cBuffer,0,n);
} catch (IOException e) {
实验题4 建立一个书籍信息的文本文件,其中包括编号、书籍名称、版本、价格、销售额字段及5本书籍的记录。编写程序读入书籍信息文件并将第3本、第4本书籍价格分别增加20和30,再将修改后的书籍信息文件输出到另一个文本文件中(文件名称为pbookinfonew.txt)。
文本文件pbookinfo.txt内容如下:
编号 名称 版本 价格 销售额
1001 1002 1003 1004
Java程序设计 Java开发实战 C++程序设计指南 EJB3.0入门经典
第2版 第1版 第3版 第1版
56.9 98.9 62.5 59.8
560 820 362 1280
1005 Spring3.0 in Action 第3版 95.8 1189
实验题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”输入数据并将其输出。