您的位置:首页 > 其它

有一个文件 test.txt ,读取文件每一行计算每一行的和,最终将结果保存到result.txt文件中

2017-09-05 08:20 746 查看
有一个文件test.txt,里面的内容是:(有换行)

01|02|03|04|05|06|07|08|09|10
11|12|13|14|15|16|17|18|19|20
21|22|23|24|25|26|27|28|29|30
31|32|33|34|35|36|37|38|39|40
41|42|43|44|45|46|47|48|49|50
51|52|53|54|55|56|57|58|59|60


要求:

请先将testData.txt文件中的内容读取出来

将读取的内容通过处理后,将结果保存到result.txt文件中,保存的结果如下:

第1行总和+...+第n-1行总和+第n行总和=所有行总和


示例代码:
packagecom.hcq.main;

importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;

publicclassMain{

publicstaticvoidmain(String[]args){
//读取操作
Filefile=newFile("testData.txt");
Stringstr=readTextFromFile(file);
System.out.println("处理之后的内容为:"+str);
//写入操作
FilesaveResult=newFile("result.txt");
booleanresult=writeText2File(str,saveResult,false);
System.out.println(result?"操作完成!":"操作失败!");
}

//读取文件方法并处理读取的内容
publicstaticStringreadTextFromFile(Filefile){
if(file==null||!file.exists())
returnnull;
try(BufferedReaderbr=newBufferedReader(newFileReader(file));){
StringBuildersb=newStringBuilder();
Strings=null;
longsum=0;//每次读取的计算结果
longfinallyNum=0;//计算最终结果
while((s=br.readLine())!=null){
sum=0;//清零
String[]split=s.split("[|]");
for(Stringstr:split){
intnum=Integer.parseInt(str);
sum+=num;
}
sb.append(sum).append('+');
finallyNum+=sum;
}
sb.delete(sb.length()-1,sb.length());
sb.append("=").append(finallyNum);
returnsb.toString();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
returnnull;
}

//写入操作
publicstaticbooleanwriteText2File(Stringtext,Filefile,booleanappend){
if(text==null||"".equals(text)||file==null){
returnfalse;
}
try(BufferedWriterbw=newBufferedWriter(newFileWriter(file,append))){
bw.write(text);
returntrue;
}catch(IOExceptione){
e.printStackTrace();
}
returnfalse;
}
}

结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐