我写的代码应该覆盖所选文本文件的内容,但它会附加它。我做错了什么?
File fnew=new File("../playlist/"+existingPlaylist.getText()+".txt");
String source = textArea.getText();
System.out.println(source);
FileWriter f2;
try {
f2 = new FileWriter(fnew,false);
f2.write(source);
/*for (int i=0; i
{
if(source.charAt(i)=='\n')
f2.append(System.getProperty("line.separator"));
f2.append(source.charAt(i));
}*/
f2.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
编辑
我尝试制作一个新的temp.txt文件并写入新内容,删除此文本文件,并将temp.txt重命名为此文件。事情是,删除总是不成功。我不认为我必须更改这个用户权限吗?
另外,我的程序的一部分列出了这个目录中的所有文件,所以我猜这个程序被使用,所以不能被删除。但为什么不覆盖?
解决了
我最大的“D”哦!我已经在Eclipse中编译它,而不是我正在执行它的cmd。所以我的新编译的类去了bin文件夹,编译的类文件通过命令提示符在我的src文件夹中保持不变。我重新编译了我的新代码,它的作用就像一个魅力。
File fold=new File("../playlist/"+existingPlaylist.getText()+".txt");
fold.delete();
File fnew=new File("../playlist/"+existingPlaylist.getText()+".txt");
String source = textArea.getText();
System.out.println(source);
try {
FileWriter f2 = new FileWriter(fnew, false);
f2.write(source);
f2.close();
} catch (IOException e) {
e.printStackTrace();
}