被迫从网上抄的代码,老师布置的作业,喵的。
感谢强大的网友。@46y4ww 来自360问答!
1.实验目的
本实验的目的是让学生掌握字符输入、输出流以及缓冲输入、输出流用法。2.实验要求 从控制台接收如下格式的成绩
姓名:张三,数学72分,物理67分,英语70分.
姓名:李四,数学92分,物理98分,英语88分.
姓名:周五,数学68分,物理80分,英语77分.
并把它们存入到一个文本文件 (文件名自定义)中。
再按行读取成绩单,且在该行的后面加上该同学的平均成绩,并以尾加方式将该行写入到另一个文本文件(文件名自定义)中。
3.实验参考
教材P201-202 上机实践练习
/**
* 从控制台接收用户输入的数据,并存储在磁盘上
* @param filePath
*/
static void userPrint(String filePath){
BufferedReader br = null;
BufferedWriter bw = null;
try{
//通过System.in返回一个InputStream对象用于构造一个InputStreamReader对象
//再用来构造一个Buffered对象
br = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new FileWriter(filePath,true)); //true表示是否追加
String str = br.readLine(); //接收用户输入
while(!str.equals("exit")){ //如果用户输入exit则退出循环
bw.write(str); //将用户输入的字符串写入文件
bw.newLine(); //换行
bw.flush(); //刷新缓冲区,将缓冲区的字符写入磁盘!
str = br.readLine(); //继续接收输入
}
}
catch(FileNotFoundException e){
System.out.println(e.getMessage());
}
catch(IOException e){
System.out.println(e.getMessage());
}
finally{
try {
bw.close(); //关闭对象前会调用bw.flush();
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


发表评论