流处理程序设计
课题内容和要求
内容:设计和编写一个程序从键盘读入一行字符串,将其写入一个文本文件中,再编写另一个程序从文本文件中读入字符串并在命令行窗口显示出来。
要求:要求学生能在学习和理解课堂学习内容中JAVA流编程理论的基础上,学习并逐步掌握JAVA流程序的编写和调试,学习根据处理需求对不同流的正确选择使用和组合使用方法。
二、设计思路分析
Write.java:
class Write: 将字符串从键盘输入到文件。
Read.java:
class Read: 将字符串从文件输出到命令行窗口。
三、概要设计
Write.java:
public class Write{
public static void main(String[] args);
}
Read.java:
public class Read{
public static void main(String[] args);
}
四、详细设计
Write.java:
import java.io.*;
import java.util.Scanner;
public class Write {
public static void main(String[] args) {
File file=new File("File.txt");
System.out.print("输入一行字符串:\n");
Scanner reader=new Scanner(System.in);//输入一行字符串
String s=reader.nextLine();
try {// 异常处理
FileWriter toFlie=new FileWriter(file);//通过底层流写入文件
BufferedWriter out=new BufferedWriter(toFlie);//通过缓冲流将字符串写入底层流
out.write(s);
out.close();
toFlie.close();
}
catch(IOException e){
System.out.println(e);
}
}
}
Read.java:
import java.io.*;
public class Read {
public static void main(String[] args) {
File file = new File("File.txt");
try {// 异常处理
FileReader fromFile = new FileReader(file);// 通过底层流读取文件
BufferedReader in = new BufferedReader(fromFile);// 通过缓冲流从底层流读取字符串
System.out.print("文件内容:\n");
String s = in.readLine();// 输出一行字符串
System.out.print(s);
in.close();
fromFile.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
五、测试数据及其结果分析
1正常输入:
2文件内容变为:
3输出:
4结果:输出正常。
六、调试过程中的问题
一开始直接采用FileReader和Filewriter类进行文件的输入输出,无法直接读取一行字符串而要借助字符数组进行逐个字符的读取。后采用BufferedReader和BufferedWrite类进行操作即可轻松实现整行写入与读取。
七、程序设计总结
1、通过该实验掌握了JAVA流程序的编写和调试的方法。?
2、熟悉了不同流的正确选择使用和组合使用方法。
3、认识到借助缓冲流和底层流的结合能方便地处理整行字符串。