0

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

这是我正在使用的代码:

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

bellFile.delete();

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

bellFileNew.createNewFile();

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

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

4

3 回答 3

2

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

  1. 该文件不存在。
  2. 该文件是目录而不是文件。
  3. 您无权删除该文件。
  4. 您无权访问该文件或其任何父目录。
  5. 该文件当前正被其他应用程序使用。

尝试避免所有上述情况,您肯定能够删除该文件。同样在删除文件之前添加此条件:

if (file.exists()) {
    file.delete();
}
于 2012-11-02T12:46:30.007 回答
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);

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

于 2012-11-02T12:19:43.360 回答
0
File bellFile = new File("config\\normbells.txt");
if(bellFile.delete())
{
System.out.println("Done!");
}
于 2012-11-02T10:32:06.613 回答