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 - это затмение.





Я бы сказал, что это вероятно из-за отсутствия каталогов по пути «C: \ Java \ FilePartOne».
Заявление:
myFile.createNewFile();
Будет пытаться создать файл по заданному пути, а не создавать отсутствующие каталоги. Таким образом, вы получаете сообщение об ошибке «Система не может найти указанный путь», если при выполнении инструкции отсутствуют какие-либо каталоги.
Быстрый способ исправить это - либо создать недостающие папки самостоятельно, либо добавить приведенный ниже код непосредственно перед myFile.createNewFile () ;.
myFile.getParentFile().mkdirs();
О боже. Да, у того урока, который я смотрел, должен быть уже был путь, поэтому я предположил, что .createNewFile () создает каталог, если он был указан для объекта File. Спасибо.