Как узнать, существует ли файл ресурсов в Java? - PullRequest
24 голосов
/ 21 февраля 2012

Я пытаюсь вывести текст в файл ресурсов на Java следующим образом:

File file = new File(MLM.class.getClassLoader().getResource("mazes.txt").toString());
BufferedWriter out = new BufferedWriter(new FileWriter(file));
..

но поскольку файл ресурсов не был создан, я получаю исключение нулевого указателя. Как сначала создать пустой файл ресурсов, если он еще не существует, чтобы избежать этой ошибки?

Ответы [ 2 ]

42 голосов
/ 21 февраля 2012

Достаточно простой нулевой проверки

URL u = MLM.class.getResource("/mazes.txt");
if (u != null) {
         ...
}

Из javadoc для getResource

Возвращает:
Объект URL или ноль, если не найден ресурс с таким именем

2 голосов
/ 21 февраля 2012

Вы можете использовать перед вашим кодом:

File.createNewFile ()

Атомно создает новый пустой файл, названный этим абстрактным путем если и только если файл с таким именем еще не существует. Чек для существование файла и создание файла, если это не так существуют единая операция, которая является атомарной по отношению ко всем другим Действия файловой системы, которые могут повлиять на файл.

...