| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Как прочитать файл из jar |
| Автор: COVD 12.12.2005, 18:59 |
| В аппликейшн jar-е лежит проперти файл в корневой директории, т.е. путь у него пустой. Какой путь указать при создании new File(...) , чтобы прочитать его? Никак не могу понять. Имею пример использования PropertyResourceBundle, но эта штука читает один раз и кеширует. Возможно, так и надо делать. Но хотелось бы менять установки не перезапуская программу. Как это правильнее реализовать : 1. редактированием проперти файла и релоадом их из приложения? 2. в АПИ создавать соответствующие поля с возможностью редактирования ? 3. еще как-то ? |
| Автор: ShurikA 13.12.2005, 01:13 | ||
| Если я правильно понял вопрос, то Проще всего указать полный путь, типа: C:\Program Files\... и т.д. Ну тлт если очень хочется то относительный при том что ..\ поднимает на одну дерикторию выше. Добавлено @ 01:21
А 1 и 2 это не почти одно и тоже? Просто через GUI удобнее для юзера. |
| Автор: Шмель 13.12.2005, 05:23 | ||||||||
Элементарно, Ватсон. У класса Class есть два метода: getResource(String resourceName) и getResourceAsStream(String resourceName). Они предназначениы, как нетрудно догадаться по их именам, для загрузки так называемых ресурсов. Ресурс - это любой файл, доступный загрузчику классов, т.е. файлы свойств (properties), картинки и т.д. Так вот. Чтобы считать property-файл, нужно выполнить такой нехитрый код:
Файл свойств, который лежит в корне jar'а, называется file.properties, выглядит он так:
Здесь, ИМХО, больше подходит второй путь, т.е. не надо редактировать файл, а просто менять соотвествующие свойства с помощью метода put(Object key, Object value) класса Properties, который унаследован от Hashtable. |
| Автор: COVD 13.12.2005, 18:12 | ||
ShurikA
В первом случае при перезапуске программы загрузятся новые значения, а во втором - старые. В 1 варианте работы меньше. Шмель Спасибо, попробую! |
| Автор: ShurikA 14.12.2005, 20:36 | ||
Работы меньше гля кого? Тебя или компа? |
| Автор: COVD 14.12.2005, 21:50 | ||
Конечно для меня. Чтение свойств - эпизодическая работа для приложения в моем случае, поэтому загрузку компьютера на этой операции не учитываю. |
| Автор: ShurikA 15.12.2005, 17:24 | ||||
Ну это вопрос уже спосный. Если ты пишешь прогу для самого себя, то делай конечно как тебе удобно. А если для абсолютно посторонних людей??? Или ты им тоже хочешь предложить редактированием проперти файла? |
| Автор: LSD 15.12.2005, 17:30 | ||
Согласен, с предыдущим оратором. Редактирование файла настроек приемлемо (и даже желательно), для приложений типа веб сервера, сервера приложений, СУБД и т.п. Но приложение для простого юзера, должно иметь простой способ настройки. И чем не устраивает пакет java.util.prefs? |
| Автор: COVD 15.12.2005, 21:27 |
| У меня как раз серверное приложение |
| Автор: LSD 15.12.2005, 21:40 |
| У нас в ЧАВО есть статейка по поводу java.util.prefs. |