Добавление файла в существующий в файле Zip памяти с Zip4jJAVA

Программисты JAVA общаются здесь
Anonymous
Добавление файла в существующий в файле Zip памяти с Zip4j

Сообщение Anonymous »

С Zip4j я пытаюсь добавить файл в существующий zip -файл, загруженный в памяти. У меня нет доступа к файловой системе. Мой zip -файл - это в основном байт [] , и я хотел бы не разкапливать его, чтобы добавить свой новый файл. Самым близким, что я получил, было, поместив мой ZIP-файл в BytearRayOutputStream , оберните его в Zipoutputstreamand , наконец, добавление в него мой новый файл:
// Setup files for test purposes only
File originalFile = new File("original.zip");
File updatedFile = new File("updated.zip");

byte[] originalContent = FileUtils.readFileToByteArray(originalFile);

// Real use case context starts here
// ---------------------------------

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try (ZipOutputStream zipOutputStream = new ZipOutputStream(outputStream)) {
// Add original content
outputStream.write(originalContent);

// Add new file
ZipParameters parameters = new ZipParameters();
parameters.setFileNameInZip("newFile.txt");

zipOutputStream.putNextEntry(parameters);
zipOutputStream.write("New file content".getBytes());
zipOutputStream.closeEntry();
}

byte[] updateContent = outputStream.toByteArray();

// Real use case context stops here
// --------------------------------

FileUtils.writeByteArrayToFile(updatedFile, updateContent);
< /code>
К сожалению, он создает странный zip -файл, отображающий исходные файлы, когда я предварительно просмотр его с помощью Zip Explorer (например, Ark), но когда я разоблачил его, чтобы проверить его реальное содержание, присутствует только новый файл. < /p>
Я нашел несвежную проблему на официальном озабоченности, что и то же самое, что и то же самое, что -то, что -то, что происходит, что -либо, что -то, что происходит, что -либо, что -то вроде. Спасибо!


Подробнее здесь: https://stackoverflow.com/questions/795 ... with-zip4j

Вернуться в «JAVA»