Запись информации (и изображения) в файл Jar из другой программы Java - PullRequest
1 голос
/ 02 ноября 2019

Возможно, дубликат, хотя я сомневаюсь в этом, поскольку я не видел ничего, что до сих пор полностью отвечало бы моим критериям таким образом, чтобы я мог завершить свою программу

Фон

Мне нужно получить доступ к другой банке из отдельной банки, прочитать и записать файлы в эту банку. Пока что я сделал, изменил jar на zip, а затем я могу удалить файлы, но у меня возникла проблема с записью файлов обратно, в частности файлов изображений (.txt отлично работает)

Вопрос

Как записать файлы изображений в zip-файл (который изначально был jar-файлом) из другой java-программы (в конечном продукте еще jar-файл)

Примечание

Я осмотрелся, и большинство источников говорят, что это невозможно, но эти вопросы касались этого во время работы программы, мой особый случай заключается в том, что другая программа не запущена, но в формате файла. Все, что я хочу сделать, это написать и изображение в и преобразовать его обратно в банку и не иметь никаких проблем с запуском этой банке в конце. Спасибо!

1 Ответ

1 голос
/ 02 ноября 2019

Пользователь FileSystems для доступа, записи и замены содержимого файла jar:

try (FileSystem fs = FileSystems.newFileSystem(Paths.get("path/file.jar"), null)) {
    Files.copy(Paths.get("path/to/image"), // path to an external image
               fs.getPath("image.jpg"),    // path inside a jar file
               StandardCopyOption.REPLACE_EXISTING);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...