試驗結果
result.txt文件的內容如下
李明40: 50: 60: 70: 80
姓名:李明總分:300分
劉勝45: 55: 65: 75: 85。
姓名:劉勝總分:625分。
我不懂+QQ 379821283
代碼如下:
包com . rabbit . test;
導入Java . io . buffered reader;
導入Java . io . buffered writer;
導入Java . io . file inputstream;
導入Java . io . file output stream;
導入Java . io . inputstreamreader;
導入Java . io . output streamwriter;
公共類測試文件{
公共靜態void main(String【】args)引發異常{
//獲取文件輸入流,假設目標文件名為data.txt
file inputstream fin = new file inputstream(“data . txt“);
InputStreamReader inR = new InputStreamReader(fin);
BufferedReader bfR =新buffered reader(inR);
//獲取fileoutputstream假定目標文件名為resutl.txt的附加方法
file output stream fout = new file output stream(“resultl . txt“,true);
OutputStreamWriter outW = new OutputStreamWriter(fout);
buffered writer bfW = new buffered writer(outW);
string temp =““;//臨時緩存存儲讀取的每壹行記錄。
string【】tempArr = { };//臨時緩存存儲用空格拆分這壹行記錄得到的數組。
字符串名稱=““;//臨時緩存保存名稱。
string【】score temp = { };//臨時緩存存儲通過拆分分數字符串獲得的數組。
int total score = 0;//暫時緩存總分
//開始讀取文件
同時((temp=bfR.readLine())!=null)
//正則表達式將讀取的每壹行拆分為壹個名稱+分數字符串。
tempArr = temp . split(“【】+“);
//獲取名稱
name = tempArr【0】;
//正則表達式拆分分數字符串以獲得分數數組。
score temp = tempArr【1】。split(“:“);
//循環分數數組以獲得總分。
for(int I = 0;我& ltscore temp . length;i++){
total score+= integer . parse int(score temp【I】);
}
//寫入結果文件
bfw . write(temp+“\ r \ n“);
bfw . write(“Name:“+Name+“總分:“+Total Score+“\ r \ n“);
}
//關閉流
bfr . close();
bfw . close();
}
}
測試正常