import java.io.FileWriter;
import java.io.PrintWriter;
public class DemoPrint {
public static void main (String args []) {
try{
PrintWriter coolFile = new PrintWriter("c:\\JavaIO\\cool.txt");
FileWriter file = new FileWriter("c:\\JavaIO\\cool.txt", true);
coolFile.println("Why isn't this adding another line?");
coolFile.close();
}
catch (Exception e) {
System.out.println("Error");
}
}
}因此,我对编程/java很陌生,我尝试打开这个文件并追加数据并添加另一行,但由于某种原因,数据只是被coolFile.println("")中的任何内容删除和覆盖。
有人能帮我吗?我知道这可能是个简单的解决办法..。我在学..。谢谢!
发布于 2015-04-26 20:58:43
您在同一个文件上同时打开一个PrintWriter和一个FileWriter。这两者之间没有关系--它们是访问同一个文件的两个点(这是你真正不应该做的事情)。
PrintWriter的打开已经完成,并且没有附加,因此,它销毁了文件的所有内容。然后打开它上的另一个“视图”--一个FileWriter,并将其设置为附加,但此时,它不再需要附加任何内容。
正确的方法是创建PrintWriter,使其得到FileWriter的支持。文件上不是两个视图--一个视图骑在另一个视图上。
PrintWriter coolFile = new PrintWriter( new FileWriter("filename", true ) );https://stackoverflow.com/questions/29883381
复制相似问题