package ytu.com;
import java.io.*;
public class AnalysisResult {
public static void main(String [] args){
File fRead=new File("score.txt");//指明读取哪个文件
File fWrite=new File("soreAnalysis.txt");//指明写入哪个文件
try{ //异常处理
Writer out=new FileWriter(fWrite); //创建写入流对象并绑定写入文件
BufferedWriter bufferWriter=new BufferedWriter(out);//加入缓冲流争强文件操作的速度
Reader in=new FileReader(fRead);
BufferedReader bufferRead=new BufferedReader(in);
String str=null; //文件以null结束判断标志
while((str=bufferRead.readLine())!=null){
double totalScore=Fenxi.getTotalScore(str); //依次算取总分
str=str+"总分:"+totalScore;
System.out.println(str);
bufferWriter.write(str);
bufferWriter.newLine();
}
bufferRead.close(); //关闭文件流
bufferWriter.close();
}
catch(IOException e){ //IO异常检测
System.out.println(e.toString());
}
}
}
package ytu.com;
import java.util.*;
public class Fenxi {
public static double getTotalScore(String s){
Scanner scanner=new Scanner(s);
scanner.useDelimiter("[^0123456789.]+"); //正则表达式检测只含有数字的进行读取
double totalScore=0;
while(scanner.hasNext()){
try{
double score=scanner.nextDouble(); //依次读取double类型的数据并进行求和计算
totalScore=totalScore+score;
}catch(InputMismatchException exp){
String t=scanner.next();
}
}
return totalScore;
}
}