Где добавить текстовый файл в качестве ресурса в веб-приложении Java при использовании Netbeans? - PullRequest
3 голосов
/ 05 декабря 2011

Я хочу добавить текстовый файл в качестве ресурса в веб-приложении Java.Я использую Netbeans в качестве IDE.
Я хочу сохранить файл в папке, чтобы я мог напрямую ссылаться на файл, а не на путь ABSOLUTE.

FileInputStream fstream = new FileInputStream("resource.txt");

Где хранить этот файл в папке?

1 Ответ

2 голосов
/ 05 декабря 2011

Использование относительных путей к файлам - плохая идея, поскольку они зависят от текущего рабочего каталога (текущего открытого каталога при запуске приложения Java), и у вас есть нет контроля над текущим рабочим каталогом. изнутри приложения Java.

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

InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("resource.txt");
// ...

В приведенном выше примере предполагается, что файл помещен в корневой каталог classpath. Если это, например, пакет com.example.resources, то вы должны получить его следующим образом:

InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("com/example/resources/resource.txt");
// ...

Если файл предполагается редактируемым, вам следует использовать абсолютный путь к файловой системе диска и правильно документировать его в руководстве по установке вашего веб-приложения. Альтернативой является использование базы данных.

Смотри также:

...