对于不存在的文件,file.delete()是返回true还是false?

car*_*ier 10 java file

在java中,file.delete()返回truefalsewhere File file指的是不存在的文件?

我意识到这是一个基本的问题,很容易通过测试,但我得到奇怪的结果,并希望得到确认.

Ada*_*eld 9

http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html#delete() :

返回:当且仅当文件或目录被成功删除时返回true; 否则是假的

因此,对于不存在的文件,它应该返回false.以下测试证实了这一点:

import java.io.File;

public class FileTest
{
    public static void main(String[] args)
    {
        File file = new File("non-existent file");

        boolean result = file.delete();
        System.out.println(result);
    }
}
Run Code Online (Sandbox Code Playgroud)

编译并运行此代码会产生错误.


Dan*_*ler 5

这不会导致FileNotFoundException吗?

编辑:

确实确实会导致错误:

import java.io.File;

public class FileDoesNotExistTest {


  public static void main( String[] args ) {
    final boolean result = new File( "test" ).delete();
    System.out.println( "result: |" + result + "|" );
  }
}
Run Code Online (Sandbox Code Playgroud)

版画 false