Как создать zip-файл на Java

130
задан BalusC 4 September 2015 в 10:33
поделиться

2 ответа

Посмотрите на этот пример:

StringBuilder sb = new StringBuilder();
sb.append("Test String");

File f = new File("d:\\test.zip");
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(f));
ZipEntry e = new ZipEntry("mytext.txt");
out.putNextEntry(e);

byte[] data = sb.toString().getBytes();
out.write(data, 0, data.length);
out.closeEntry();

out.close();

Это создаст zip в корне D: с именем test.zip , который будет содержать один единственный файл с именем mytext.txt . Конечно, вы можете добавить больше записей в zip-архив, а также указать подкаталог следующим образом:

ZipEntry e = new ZipEntry("folderName/mytext.txt");

Вы можете найти дополнительную информацию о сжатии с помощью Java здесь .

208
ответ дан 23 November 2019 в 23:51
поделиться

Чтобы записать ZIP-файл, вы используете ZipOutputStream. Для каждой записи, которую вы хотите поместить в ZIP-файл, вы создаете объект ZipEntry. Вы передаете имя файла конструктору ZipEntry; он устанавливает другие параметры, такие как дата файла и метод распаковки. При желании вы можете изменить эти настройки. Затем вы вызываете метод putNextEntry объекта ZipOutputStream, чтобы начать запись нового файла. Отправьте данные файла в поток ZIP. Когда вы закончите, вызовите closeEntry. Повторите для всех файлов, которые хотите сохранить. Вот скелет кода:

FileOutputStream fout = new FileOutputStream("test.zip");
ZipOutputStream zout = new ZipOutputStream(fout);
for all files
{
    ZipEntry ze = new ZipEntry(filename);
    zout.putNextEntry(ze);
    send data to zout;
    zout.closeEntry();
}
zout.close();
33
ответ дан 23 November 2019 в 23:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: