文件不会删除

时间:2012-11-02 10:27:32

标签: java file delete-file erase

我正在尝试删除java中的文件,但它不会删除。有人可以解释为什么它不会删除?

以下是我正在使用的代码:

File bellFile = new File("config\\normbells.txt");

bellFile.delete();

File bellFileNew = new File("config\\normbells.txt");

bellFileNew.createNewFile();

System.out.println("Done!");

注意:我正在尝试擦除文件,如果有帮助的话。

3 个答案:

答案 0 :(得分:2)

在以下情况下,文件删除可能会失败:

  1. 该文件不存在。
  2. 该文件是目录而非文件。
  3. 您无权删除该文件。
  4. 您无权访问该文件或其任何父目录。
  5. 该文件目前正被另一个应用程序使用。
  6. 尽量避免上述所有情况和你肯定能删除该文件。 在删除文件之前,请添加以下条件:

    if (file.exists()) {
        file.delete();
    }
    

答案 1 :(得分:1)

Java7为此提供了新的功能。

Path target = Paths.get("D:\\Backup\\MyStuff.txt");
Files.delete(target);

Path newtarget = Paths.get("D:\\Backup\\MyStuff.txt");
Set<PosixFilePermission> perms
    = PosixFilePermissions.fromString("rw-rw-rw-");
FileAttribute<Set<PosixFilePermission>> attr
    = PosixFilePermissions.asFileAttribute(perms);
Files.createFile(newtarget, attr);

查看文件类http://docs.oracle.com/javase/7/docs/api/java/io/File.html

答案 2 :(得分:0)

File bellFile = new File("config\\normbells.txt");
if(bellFile.delete())
{
System.out.println("Done!");
}