分析成绩单。现有如下格式的成绩单(文本格式)score.txt: 姓名:张三,数学72分,物理67分,英语70分。
姓名:李四,数学92分,物理98分,英语88分。
姓名:周五,数学68分,物理80分,英语77分。
要求按行读入成绩单,并在该行开始添加编号(从1开始),然后再将该行写入到score.txt的文件中。
(选择缓冲流
代码:
package haxi;
import java.io.*;
public class dodo
{
public static void main(String[] args)
{
FileReader fr=null;
FileWriter fw=null;
BufferedReader br=null;
BufferedWriter bw=null;
try
{
fr= new FileReader("score.txt");//读出
fw = new FileWriter("score_new.txt");//写入
br = new BufferedReader(fr);
bw = new BufferedWriter(fw);
String line;
int lineNumber = 1;
while ((line = br.readLine()) != null) //line=读出得字符串
{
// 在该行开始添加编号
String numberedLine = lineNumber + ". " + line;//新建一个字符串存储
// 写入到文件中
bw.write(numberedLine);
lineNumber++;//标号+1
}
System.out.println("分析完成!");
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if(bw!=null)
{
try
{
bw.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
if(br!=null)
{
try
{
br.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
}
}