被迫从网上抄的代码,老师布置的作业,喵的。
感谢强大的网友。@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(); } } }
发表评论