关于读取文件时向文件中添加一行信息的问题,到底是怎么回事啊??!
public static void addBookedMeetingRoom(BookedMeetingRoom bmr) throws CRRSInitializationException{
String fileName=BOOKEDMEETINGROOM_FILEPATH;
try{
BufferedReader br=new BufferedReader(new FileReader(fileName));
PrintWriter pw = new PrintWriter(new FileWriter(fileName));
String line=br.readLine();
/*以上这三行代码,如果把第三行‘String line=br.readLine()’放在中间,就能在文件末尾添加信息,而放在PrintWriter后面却只显示当前信息,不能再末尾添加,为什么?*/
while(line!=null){
pw.println(line);
line=br.readLine();
}
pw.println(bmr.produceToFileString()+NEW_LINE);
pw.close();
br.close();
}
catch(
FileNotFoundException fnfe){
System.out.print("
系统找不到指定的文件:"+fileName);
}
catch (
IOException e) {
System.out.print("读取文件时出错:"+fileName);
}
}
------解决方案--------------------
你如果想要在文件末尾添加信息,那么应该考虑用PrintWriter pw = new PrintWriter(new FileWriter(fileName,true));这样pw向流中写入信息的时候就是在文件末尾添加
如果你只是添加文本内容信息的话,其实用FileWriter就可以做到了