相关疑难解决方法(0)

file.delete()返回false,即使file.exists(),file.canRead(),file.canWrite(),file.canExecute()都返回true

我正在尝试删除一个文件,在写完文件后,用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.

有什么我做错了吗?

java file fileoutputstream

87
推荐指数
4
解决办法
17万
查看次数

Java'file.delete()'没有删除指定的文件

这是我目前要删除的文件,但它无法正常工作.我认为这可能是许可问题或其他什么,但事实并非如此.我正在测试的文件是空的并且存在,所以不确定它为什么不删除它.

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)

尝试在运行时找到正确的路径,以便在程序转移到另一台计算机时仍然可以找到该文件.

java file delete-file

39
推荐指数
6
解决办法
12万
查看次数

Java 6文件删除

我知道这个问题的肆虐重复这个问题.但是,我现在已经阅读了整个页面两次,有些部分已经阅读了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 …

java io file java-6

11
推荐指数
2
解决办法
8324
查看次数

标签 统计

file ×3

java ×3

delete-file ×1

fileoutputstream ×1

io ×1

java-6 ×1