Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как прочитать файл из jar 
:(
    Опции темы
COVD
Дата 12.12.2005, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



В аппликейшн jar-е лежит проперти файл в корневой директории, т.е. путь у него пустой. Какой путь указать при создании new File(...) , чтобы прочитать его? Никак не могу понять.

Имею пример использования PropertyResourceBundle, но эта штука читает один раз и кеширует. Возможно, так и надо делать. Но хотелось бы менять установки не перезапуская программу.
Как это правильнее реализовать :
1. редактированием проперти файла и релоадом их из приложения?
2. в АПИ создавать соответствующие поля с возможностью редактирования ?
3. еще как-то ?
PM MAIL   Вверх
ShurikA
Дата 13.12.2005, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Если я правильно понял вопрос, то
Проще всего указать полный путь, типа: C:\Program Files\... и т.д.
Ну тлт если очень хочется то относительный при том что ..\ поднимает на одну дерикторию выше.
Добавлено @ 01:21
Цитата(COVD @ 12.12.2005, 17:59)
Имею пример использования PropertyResourceBundle, но эта штука читает один раз и кеширует. Возможно, так и надо делать. Но хотелось бы менять установки не перезапуская программу.
Как это правильнее реализовать :
1. редактированием проперти файла и релоадом их из приложения?
2. в АПИ создавать соответствующие поля с возможностью редактирования ?
3. еще как-то ?


А 1 и 2 это не почти одно и тоже?
Просто через GUI удобнее для юзера.


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Шмель
Дата 13.12.2005, 05:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.4.2004

Репутация: 3
Всего: 18



Цитата(COVD @ 13.12.2005, 00:59)
Какой путь указать при создании new File(...) , чтобы прочитать его?

Элементарно, Ватсон. У класса Class есть два метода: getResource(String resourceName) и getResourceAsStream(String resourceName). Они предназначениы, как нетрудно догадаться по их именам, для загрузки так называемых ресурсов. Ресурс - это любой файл, доступный загрузчику классов, т.е. файлы свойств (properties), картинки и т.д.
Так вот. Чтобы считать property-файл, нужно выполнить такой нехитрый код:
Код

Properties props = new Properties();
InputStream is = getClass().getResourceAsStream("/file.properties");
props.load(is);
System.out.println(props.get("my.property"));

Файл свойств, который лежит в корне jar'а, называется file.properties, выглядит он так:
Код

my.property=This string is property form the properties file


Цитата(COVD @ 13.12.2005, 00:59)
Имею пример использования PropertyResourceBundle, но эта штука читает один раз и кеширует. Возможно, так и надо делать. Но хотелось бы менять установки не перезапуская программу.
Как это правильнее реализовать :
1. редактированием проперти файла и релоадом их из приложения?
2. в АПИ создавать соответствующие поля с возможностью редактирования ?
3. еще как-то ?

Здесь, ИМХО, больше подходит второй путь, т.е. не надо редактировать файл, а просто менять соотвествующие свойства с помощью метода put(Object key, Object value) класса Properties, который унаследован от Hashtable.

Это сообщение отредактировал(а) Шмель - 13.12.2005, 05:25
--------------------
будешь на Земле - заходи
PM MAIL ICQ   Вверх
COVD
Дата 13.12.2005, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



ShurikA
Цитата
А 1 и 2 это не почти одно и тоже?

В первом случае при перезапуске программы загрузятся новые значения, а во втором - старые. В 1 варианте работы меньше.
Шмель
Спасибо, попробую!
PM MAIL   Вверх
ShurikA
Дата 14.12.2005, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(COVD @ 13.12.2005, 17:12)
В 1 варианте работы меньше.

Работы меньше гля кого? Тебя или компа?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
COVD
Дата 14.12.2005, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Цитата
Работы меньше гля кого? Тебя или компа?

Конечно для меня. Чтение свойств - эпизодическая работа для приложения в моем случае, поэтому загрузку компьютера на этой операции не учитываю.
PM MAIL   Вверх
ShurikA
Дата 15.12.2005, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(COVD @ 14.12.2005, 20:50)
Цитата
Работы меньше гля кого? Тебя или компа?

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

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


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
LSD
Дата 15.12.2005, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(ShurikA @ 15.12.2005, 17:24)
Или ты им тоже хочешь предложить редактированием проперти файла?

Согласен, с предыдущим оратором. Редактирование файла настроек приемлемо (и даже желательно), для приложений типа веб сервера, сервера приложений, СУБД и т.п.
Но приложение для простого юзера, должно иметь простой способ настройки. И чем не устраивает пакет java.util.prefs?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
COVD
Дата 15.12.2005, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



У меня как раз серверное приложение smile. Про существование пакета java.util.prefs не был в курсе. Спасибо за наводку, посмотрю. Хотя у меня всего десяток параметров и простой файл "параметр=значение" устраивает на 200%.

Это сообщение отредактировал(а) COVD - 15.12.2005, 21:34
PM MAIL   Вверх
LSD
Дата 15.12.2005, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



У нас в ЧАВО есть статейка по поводу java.util.prefs.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0530 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.