file.delete () возвращают TRUE или FALSE для несуществующего файла?

Я нашел решение, решение состояло в том, чтобы назначить его окну, но так как я откладывал в обоих моих тегах сценария функцию, которая была вызвана до объявления.

10
задан Brian Tompsett - 汤莱恩 1 July 2015 в 18:26
поделиться

3 ответа

Разве это не приводит к 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 + "|" );
  }
}

печать false

5
ответ дан 3 December 2019 в 22:02
поделиться

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

Возвраты: верный, если и только если файл или каталог успешно удален; ложь иначе

Поэтому это должно возвратить 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);
    }
}

Компиляция и выполнение этого кода приводят ко лжи.

9
ответ дан 3 December 2019 в 22:02
поделиться

Официальный javadoc:

Deletes the file or directory denoted by this abstract pathname. If this pathname denotes a directory, then the directory must be empty in order to be deleted.

Returns:
    true if and only if the file or directory is successfully deleted; false otherwise 
Throws:
    SecurityException - If a security manager exists and its SecurityManager.checkDelete(java.lang.String) method denies delete access to the file

таким образом, ложь.

2
ответ дан 3 December 2019 в 22:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: