#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