Как узнать, существует ли файл ресурсов в Java? - программирование
Подтвердить что ты не робот

Как узнать, существует ли файл ресурсов в Java?

Я пытаюсь вывести текст в файл ресурсов в Java так:

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

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

4b9b3361

Ответ 1

Простой нулевой проверки будет достаточно

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

Из javadoc для getResource

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

Ответ 2

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

File.createNewFile()

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