我正在尝试删除一个文件,在写完文件后,用FileOutputStream.这是我用来编写的代码:
private void writeContent(File file, String fileContent) {
FileOutputStream to;
try {
to = new FileOutputStream(file);
to.write(fileContent.getBytes());
to.flush();
to.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
如图所示,我刷新并关闭流,但是当我尝试删除时,file.delete()返回false.
我删除前检查,看看是否该文件存在,并且:file.exists(),file.canRead(),file.canWrite(),file.canExecute()所有返回true.在调用这些方法后,我尝试file.delete()返回false.
有什么我做错了吗?
这是我目前要删除的文件,但它无法正常工作.我认为这可能是许可问题或其他什么,但事实并非如此.我正在测试的文件是空的并且存在,所以不确定它为什么不删除它.
UserInput.prompt("Enter name of file to delete");
String name = UserInput.readString();
File file = new File("\\Files\\" + name + ".txt");
file.delete();
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
我现在有:
File file = new File(catName + ".txt");
String path = file.getCanonicalPath();
File filePath = new File(path);
filePath.delete();
Run Code Online (Sandbox Code Playgroud)
尝试在运行时找到正确的路径,以便在程序转移到另一台计算机时仍然可以找到该文件.
我知道这个问题的肆虐重复这个问题.但是,我现在已经阅读了整个页面两次,有些部分已经阅读了3次,而对于我的生活,我看不出它是如何/在哪里被回答的!
所以,关于我的问题.
我正在工作,我被困在使用Java 6 SE并且无法升级到7.我正在编写一个程序,它创建一个文件,写入它,进行一些处理,然后需要删除该文件.我遇到了与上面提到的问题的人完全相同的问题:Java不会删除文件,我无法弄清楚原因.
代码:
File f = null;
FileWriter fw = null;
try
{
f = new File("myFile.txt");
fw = new FileWriter(f);
fw.write("This is a sentence that should appear in the file.");
fw.flush();
if(f.delete())
System.out.println("File was successfully deleted.");
else
System.err.println("File was not deleted.");
}
catch(Exception exc)
{
System.err.println(exc.getMessage());
}
catch(Error er {
System.err.println(er.getMessage());
}
catch(Throwable t)
{
System.err.println(t.getMessage());
}
finally
{
fw.close();
}
Run Code Online (Sandbox Code Playgroud)
它不会抛出任何抛出物,错误或异常(我包括那些排除任何和所有边缘情况).第二个print语句("File was not deleted.")正在打印到控制台.我在Windows 7上运行它,并写入我拥有完全权限(rwx)的文件夹.
用户问我引用的问题回答了他自己的问题,但是(以我的拙见)以一种不那么直接的方式这样做了.无论如何,我无法理解它.他/她似乎暗指使用a BufferedReader …