Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Чтение и запись txt внутри jar файла.

morrik Ученик (110), закрыт 4 года назад
Делаю свой не большой проект и мне понадобилось чтобы приложение могло производить чтение и запись текстового файла прямо внутри jar файла. Подскажите как это можно реализовать.
Лучший ответ
Дед Мазай Гений (58109) 4 года назад
Читать можно используя ресурсы:
getClass().getResource("/com/myorg/foo.txt"))
или
getClass().getClassLoader().getResource("com/myorg/foo.txt")
Источник: https://stackoverflow.com/questions/941754/how-to-get-a-path-to-a-resource-in-a-java-jar-file/14612564

С записью сложнее. Это плохая практика. Изменяемые данные лучше хранить в отдельном файле. Возможно, jar-файл блокируется, когда программа работает (я не проверял).
JAR-файл - это обычный zip-архив. В Java есть классы для работы с zip. Но нельзя изменить файл в архиве, можно только создать новый архив с изменённым файлом.
Остальные ответы
Angel Профи (938) 4 года назад
Дед Мазай прав. Это плохая практика. Так никто не делает. Но файл не блокируется. Так что при очень большом желании, это можно распаковать весь архив, изменить файл и запаковать обратно. Смотрите в сторону ZipOutputStream
Похожие вопросы