Файл .createNewFile () из java.io.File не создает файл - PullRequest
0 голосов
/ 16 декабря 2018
class FileClassOne {
public static void main(String args[]) {
    File myDir = new File(File.separator);
    System.out.println("myDir.getAbsolutePath() = " + myDir.getAbsolutePath());
    System.out.println("myDir.isDirectory() = " + myDir.isDirectory());
    System.out.println("myDir.isFile() = " + myDir.isFile());
    System.out.println();

    myDir = new File(File.separator+"Java"+File.separator+"FilePartOne");
    System.out.println("myDir.getAbsolutePath() = " + myDir.getAbsolutePath());
    System.out.println("myDir.isDirectory() = " + myDir.isDirectory());
    System.out.println("myDir.isFile() = " + myDir.isFile());
    System.out.println();

    File myFile = new File(myDir, "Temp.txt");
    System.out.println("myFile.getAbsolutePath() = " + myFile.getAbsolutePath());
    System.out.println("myFile.isDirectory() = " + myFile.isDirectory());
    System.out.println("myFile.isFile() = " + myFile.isFile());
    System.out.println("myFile.exists() = " + myFile.exists());
    try { 
        myFile.createNewFile(); 
    } catch (IOException e) {
        System.out.println(e.getMessage()); 
    }

Вывод:
myDir.getAbsolutePath () = C: \
myDir.isDirectory () = true
myDir.isFile () = false

myDir.getAbsolutePath () = C: \ Java \ FilePartOne
myDir.isDirectory () = false
myDir.isFile () = false

myFile.getAbsolutePath () = C: \ Java\ FilePartOne \ Temp.txt
myFile.isDirectory () = false
myFile.isFile () = false
myFile.exists () = false
Системе не удается найти указанный путь

Этот код взят из онлайн-учебника, который работает с видео и дословно скопирован.IDE - это затмение.

1 Ответ

0 голосов
/ 16 декабря 2018

Я бы сказал, что это вероятно из-за отсутствия каталогов по пути "C: \ Java \ FilePartOne".

Оператор:

myFile.createNewFile(); 

Попытка создать файл науказанный путь, а не создавать какие-либо отсутствующие каталоги.Поэтому вы получаете сообщение об ошибке «Система не может найти указанный путь», если при выполнении оператора отсутствуют какие-либо каталоги.

Быстрый способ исправить это - либо создать недостающие папки самостоятельно, либо добавить код ниженепосредственно перед myFile.createNewFile () ;.

myFile.getParentFile().mkdirs();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...