掌握输入输出流的使用内容及要求:1、现有举重成绩单score.txt:姓名:张三,抓举成绩106kg,挺举成绩189kg姓名:李四,抓举成绩108kg,挺举成绩186kg姓名:王五,抓举成绩112kg,挺举成绩190kg现要求按行读入成绩单,并在该行后加上运动员总成绩,然后再将该行写入一个名字为scorAnalysis.txt文件中。程序清单如下//AnalysisResult.java import java.io.*; import java.util.*; public class analysisResult { public static void main(String args[ ]){ File fRead= new File("score.txt"); File fWrite=new File("scoreAnalysis.txt"); try{ Writer out= 代码1 /*创建指向fWriter 文件字符输出流对象out*/ BufferedWriter bufferWrite= 代码2 /*创建指向out的bufferRead流*/ Reader in= 代码3 //创建指向文件fRead的in流 BufferReader bufferRead= 代码4 /*创建指向in的bufferRead流*/ String str=null; while((str=bufferRead.readLine())!=null){ double totalScore=Fenxi.getTotalScore(str); str=str+"总成绩:"+totalScore; System.out.println(str); bufferWrite.write(str); bufferWrite.newLine(); } bufferRead.close; bufferWrite.close(); } catch(IOException e){ System.out.println(e.toString()); } }} //Fenxi.javaimport javautil.*;public class Fenxi{ public static double getTotalScore(String s){ String regex="[^0123456789.]"; String digitMess=s.replaceAll(regex,"*"); StringTokenizer fenxi=new StringTokenizer(digitMess,"*"); double totalScore=0; while (fenxi.hasMoreTokens()){ double score=Double.parseDouble(fenxi.nextToken()); totalScore=totalScore+score; } return totalScore; } }
2 回答
已采纳
产品经理不是经理
TA贡献481条经验 获得超143个赞
代码一:new FileWriter(fWrite);
代码二:new BufferedWriter(out);
代码三:new FileReader(fRead);
代码四:new BufferedReader(in);
添加回答
举报
0/150
提交
取消