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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Output to Jar, запись в файл внутри джара 
V
    Опции темы
dorogoyIV
Дата 12.1.2008, 06:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



есть jar.
в нем текстовый файл.
читаю так:
Код

   InputStream is=ClassLoader.getSystemResourceAsStream("Base.txt");
   InputStreamReader isr=new InputStreamReader(is);
   BufferedReader br=new BufferedReader(isr);

а как в этот файл записать?
PM MAIL   Вверх
nornad
Дата 12.1.2008, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 16
Всего: 31



Тут на форуме как-то был пример с использованием de.schlichtherle.io.File/FileOutputStream - запись в файл в zip-архиве. jar - тот же зип, так что глянь тот пример.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
dorogoyIV
Дата 12.1.2008, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



nornad, так там вроде надо устанавливать дополнительные библиотеки.
а стандартными средствами можно?
PM MAIL   Вверх
batigoal
Дата 12.1.2008, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Можно. В библиотеке IO есть классы для работы с ZIP-стримами. Но я бы десять раз подумал, стоит ли это делать.

Это сообщение отредактировал(а) batigoal - 12.1.2008, 14:48


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
dorogoyIV
Дата 12.1.2008, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



batigoal, я пробовал - не получается. кажется я не правильно пишу путь к файлу внутри джара.
можно пример?
и почему
Цитата(batigoal @  12.1.2008,  14:47 Найти цитируемый пост)
 Но я бы десять раз подумал, стоит ли это делать.


PM MAIL   Вверх
batigoal
Дата 12.1.2008, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Цитата(dorogoyIV @  12.1.2008,  16:48 Найти цитируемый пост)
можно пример?

Примера у меня нет, я сам этого не делал.

По поводу того, почему этого не стоит делать - потому что jar, в первую очередь - пакетированный программный код, а программа, пытающаяся изменить сама себя - это, знаете ли... Да и неизвестно ещё, как JVM воспримет попытку изменить библиотеку, с которой она прямо сейчас работает. В общем, нездоровое это занятие. Лучше держать изменяющиеся ресурсы снаружи.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
dorogoyIV
Дата 12.1.2008, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(batigoal @  12.1.2008,  15:59 Найти цитируемый пост)
 потому что jar, в первую очередь - пакетированный программный код, а программа, пытающаяся изменить сама себя - это, знаете ли...

я так не думаю. джар - это архив, в котором лежат классы и файлы ресурсов.
в моем случае в какой то момент времени программа должна дописать в файл, при этом файл не читается в этот мометн времени
PM MAIL   Вверх
batigoal
Дата 12.1.2008, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



То есть ты правишь сторонний jar?

Может, тогда имеет смысл его полностью распаковать куда-нибудь, поправить и запаковать обратно? Тогда это можно сделать даже не ZIP-ом, а нормальной утилитой jar.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
nornad
Дата 12.1.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 16
Всего: 31



Цитата(batigoal @  12.1.2008,  18:59 Найти цитируемый пост)
Да и неизвестно ещё, как JVM воспримет попытку изменить библиотеку, с которой она прямо сейчас работает.

К тому же никто не гарантирует (если не ты сам пользователь своей программы), что программа будет запускаться только на сановской JVM. А другая JVM - это уже вообще иная история. Что в одной работает хорошо, во второй может падать (хоть и не должно по идее, но может).


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
dorogoyIV
Дата 12.1.2008, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(batigoal @  12.1.2008,  16:37 Найти цитируемый пост)
То есть ты правишь сторонний jar?

нет.
я запускаю джар.
в нем есть файл "Base.txt".
я могу читать этот файл, но еще мне надо иногда добавить в него что нибудь.
PM MAIL   Вверх
nornad
Дата 12.1.2008, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 16
Всего: 31



Цитата(batigoal @  12.1.2008,  19:37 Найти цитируемый пост)
Может, тогда имеет смысл его полностью распаковать куда-нибудь, поправить и запаковать обратно? Тогда это можно сделать даже не ZIP-ом, а нормальной утилитой jar.

Кстати, это ещё и избавить от проблем с подписанными архивами  smile

Добавлено через 43 секунды
Цитата(dorogoyIV @  12.1.2008,  19:44 Найти цитируемый пост)
я могу читать этот файл, но еще мне надо иногда добавить в него что нибудь.

Я верно понял, что это файл с некоторыми настройками?


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
dorogoyIV
Дата 12.1.2008, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



вы глубоко копаете  smile 
этот файл никак не влияет на ход выполнения программы. мне только надо его прочитать и дописать в него.
PM MAIL   Вверх
batigoal
Дата 12.1.2008, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Цитата(dorogoyIV @  12.1.2008,  17:44 Найти цитируемый пост)
я запускаю джар.
в нем есть файл "Base.txt".
я могу читать этот файл, но еще мне надо иногда добавить в него что нибудь. 

И вот как отреагирует JVM на попытку изменить jar, который в данный момент запущен - это вопрос. Причем ответ, может статься, будет разным на разных операционках и для разных версий.

Может, имеет смысл положить файл рядом с jar'ом?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
nornad
Дата 12.1.2008, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 16
Всего: 31



Цитата(batigoal @  12.1.2008,  20:14 Найти цитируемый пост)
Может, имеет смысл положить файл рядом с jar'ом?

особнно если
Цитата(dorogoyIV @  12.1.2008,  19:53 Найти цитируемый пост)
этот файл никак не влияет на ход выполнения программы




--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
dorogoyIV
Дата 12.1.2008, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(batigoal @  12.1.2008,  17:14 Найти цитируемый пост)
Может, имеет смысл положить файл рядом с jar'ом?

это без проблем.

вопрос в другом: как записать в файл, который находится в запущеном джаре?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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