java对文件的处理操作
来源:互联网 发布:纬创软件武汉 编辑:程序博客网 时间:2024/05/07 08:14
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;}}