Где добавить текстовый файл в качестве ресурса в веб-приложении Java при использовании Netbeans?
Я хочу добавить текстовый файл в качестве ресурса в веб-приложении Java. Я использую Netbeans в качестве IDE.
Я хочу сохранить файл в папке, чтобы я мог непосредственно ссылаться на файл, а не на путь ABSOLUTE.
FileInputStream fstream = new FileInputStream("resource.txt");
Где хранить этот файл в папке?
1 ответ
Использование относительных путей к файлам является плохой идеей, так как они зависят от текущего рабочего каталога (текущего открытого каталога при запуске приложения Java), и вы не можете контролировать текущий рабочий каталог из приложения Java.
Вы должны просто поместить его в classpath и получить его из classpath:
InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("resource.txt");
// ...
В приведенном выше примере предполагается, что файл находится в корневом каталоге classpath. Если это, например, в пакете com.example.resources
тогда вы должны получить его следующим образом:
InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("com/example/resources/resource.txt");
// ...
Если файл должен быть редактируемым, вам следует использовать абсолютный путь к файловой системе диска и правильно документировать его в руководстве по установке вашего веб-приложения. Альтернативой является использование базы данных.