NetBeans: попробуйте загрузить файл, но не найден (Java) - PullRequest
2 голосов
/ 14 декабря 2010

У меня каждый раз возникает одна и та же проблема, когда я пытаюсь загрузить файлы с Java в Netbeans (6.9). Кажется, что файлы не найдены. Я получаю ошибку:

java.lang.NullPointerException

В этом контексте:

File file = new File(this.getClass().getClassLoader().getResource("file.xml").getFile());
// or this also don't work
File file = new File("file.xml");

Файл file.xml находится в том же каталоге, что и файл Main.java. Как я могу загрузить этот файл?

Ответы [ 3 ]

5 голосов
/ 14 декабря 2010

Это должно работать (это для меня):

String path = URLDecoder.decode(getClass().getResource("file.xml").getFile(), "UTF-8");
File f = new File(path);

Если я правильно понимаю Javadocs, это должно быть то же самое, что и использование getClass().getClassloader().getResource(), но по моему опыту это не так

1 голос
/ 14 декабря 2010

Я бы посоветовал вам добавить строку, чтобы она что-то говорила вдоль (не проверено):

File f = new File(....);
System.out.println("f=" + f.getAbsolutePath());
// do stuff with f

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

0 голосов
/ 14 декабря 2010

Иногда вам может потребоваться добавить дополнительные / перед

File file = new File(this.getClass().getClassLoader().getResource("/file.xml").getFile());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...