Путь не существует

#java #file #exception #path

#java #файл #исключение #путь

Вопрос:

Я решил протестировать возможности создания файлов, которые может предложить Java:

Я попытался создать программу, которая создает файл на системном рабочем столе.

Чтобы получить местоположение, я сделал следующее:

 String targetLoc = System.getProperties("user.home")   "/Desktop"; //Returns /Users/targetUser/Desktop
  

И затем создать файл:

 File file = new File(targetLoc   "/testfile.txt"); //I'm aware of the slash before the name :)

try{

file.createNewFile();

}catch(Exception exception){

exception.printStackTrace();

}
  

И хотя я не вижу никаких ошибок выше, я получаю InvalidPathException .

Почему я должен получать эту ошибку?

Трассировка стека по запросу:

 java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:883)
at com.Code0.FileCreater.Main.MainFF.main(MainFF.java:41)
  

Ответ:

Это была простая ошибка, когда я присвоил неправильное значение домашней строковой переменной.

Комментарии:

1. у вас есть права на создание этого файла в этом месте?

2. Как вы можете вызвать System.GetProperties («user.home»)?

3. Я запускаю это только на своем компьютере, если вы имели в виду, что @thumbmunkeys

4. Не могли бы вы опубликовать полную трассировку стека?

5. Это действительно весь код? За пределами try-catch у вас есть только четыре строки кода — 1) получение свойств, 2) создание экземпляра File экземпляра, 3) вызов createNewFile и 4) печать трассировки стека. Ни один из этих методов не выдаст InvalidPathException (согласно javadoc). Кроме того, System.getProperties не принимает аргументы.

Ответ №1:

Это была простая ошибка, когда я присвоил неправильное значение домашней строковой переменной.

Большое спасибо всем вам за вашу поддержку.

С уважением,

Code0