java对文件的处理操作

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;
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值