Если у меня есть файл ресурсов (mydata.txt) в папке ресурсов (настроен как другая исходная папка) моего приложения.Этот файл mydata.txt в конечном итоге будет упакован в корень файла JAR (.war) для развертывания на каком-либо сервере приложений (Tomcat, Jetty, WildFly).
Файл mydata.txt содержит некоторые важные данные, необходимые длязаявление, и этот файл должен быть приложен к заявке.
Чтобы получить файл из jar, я могу использовать getClass (). GetResourceAsStream ("/ mydata.txt") - таким образом, я получаю этот файл как InputStream.Но я не могу получить этот файл как OutputStream и записать в него.
Все решения с getClass (). GetResource () - возвращающий URL не рекомендуется, getResourceAsStream всегда рекомендуется, но он допускает только чтение,не писать / обновлять / добавлять файл.
getClass (). getProtectionDomain (). getCodeSource () решение также не рекомендуется для получения (записи) доступа к файлу.
Я мог бы создать некоторыефайл во временный каталог на сервере Tomcat (System.getProperty ("java.io.tmpdir")) и запись в него, но это бессмыслица, поскольку содержимое этого файла имеет решающее значение для приложения (записать его в tmp dir), кроме Iнужно добавить файл, а не создавать новый и записать в него.
Кроме того, Я не уверен, что запись в любой другой каталог (кроме tmp) сервера приложений - это хорошая идея (пожалуйста,поправьте меня, если я ошибаюсь).
Итак Я прихожу к выводу, что не рекомендуется сохранять какие-либо данные в файл в корпоративном приложении.что я всегда буду использовать базу данных вместо этого?