Java 文件赢得';移开

Java 文件赢得';移开,java,file,delete-file,erase,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!"); 注意:如果有帮助的话

我试图删除java中的一个文件,但它不会删除。有人能解释一下为什么它不能移除吗

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

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

bellFile.delete();

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

bellFileNew.createNewFile();

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

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

Java7为此提供了新功能

File bellFile = new File("config\\normbells.txt");
if(bellFile.delete())
{
System.out.println("Done!");
}
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);
Path target=Path.get(“D:\\Backup\\MyStuff.txt”);
文件。删除(目标);
Path newtarget=Path.get(“D:\\Backup\\MyStuff.txt”);
烫发
=PosixFilePermissions.fromString(“rw-rw-”);
文件属性属性属性
=PosixFilePermissions.asFileAttribute(perms);
createFile(newtarget,attr);

看看File类,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);
Path target=Path.get(“D:\\Backup\\MyStuff.txt”);
文件。删除(目标);
Path newtarget=Path.get(“D:\\Backup\\MyStuff.txt”);
烫发
=PosixFilePermissions.fromString(“rw-rw-”);
文件属性属性属性
=PosixFilePermissions.asFileAttribute(perms);
createFile(newtarget,attr);

查看文件类

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

  • 该文件不存在
  • 该文件是目录而不是文件
  • 您没有删除该文件的权限
  • 您无权访问该文件或其任何父目录
  • 该文件当前正由另一个应用程序使用
  • 尝试避免上述所有情况&您肯定能够删除该文件。 此外,在删除文件之前,请添加以下条件:

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

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

  • 该文件不存在
  • 该文件是目录而不是文件
  • 您没有删除该文件的权限
  • 您无权访问该文件或其任何父目录
  • 该文件当前正由另一个应用程序使用
  • 尝试避免上述所有情况&您肯定能够删除该文件。 此外,在删除文件之前,请添加以下条件:

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


    如果有,您会收到什么错误消息?你确定代码正在运行吗?好吧,因为你又在创建同一个该死的文件:)@chaitanya10这就是它应该做的,它只是不先擦除文件。@MarkByers代码正在运行,因为它输出了我在其中的消息。没有错误消息。@cheese5505:我猜您找错目录了。这是一个非常常见的错误-你不是第一个这样做的人,当然也不会是最后一个。如果有,你会收到什么错误消息?你确定代码正在运行吗?好吧,因为你又在创建同一个该死的文件:)@chaitanya10这就是它应该做的,它只是不先擦除文件。@MarkByers代码正在运行,因为它输出了我在其中的消息。没有错误消息。@cheese5505:我猜您找错目录了。这是一个非常常见的错误-您不是第一个这样做的人,当然也不会是最后一个。但我想重新创建它,因此它会擦除文件。您是否尝试从文件中擦除数据,但不删除数据?是的。我想擦除该文件。但我想重新创建它,因此它会擦除该文件。是否尝试从该文件中擦除数据,但不删除一个?是。我想擦除该文件。该文件确实存在,该文件不是目录,它位于可以编辑的目录中,这可能就是为什么,我会尝试,它仅由我的java程序使用。另外,请确保在尝试删除时它未打开。该文件确实存在,该文件不是目录,它位于可以编辑的目录中,这可能是原因,我将尝试,它仅由我的java程序使用。还要确保在尝试删除时它未打开。我修复了文件使用中的错误,但现在我得到一个错误,它说:
    'posix:permissions'不支持作为初始属性
    我修复了文件使用中的错误,但是现在我得到一个错误,它说:
    'posix:permissions'不支持作为初始属性