Установить имя файла единственного потокового файла почтового индекса - PullRequest
0 голосов
/ 25 марта 2020

В настоящее время я создаю zip-файл и заполняю его различными json файлами и изображениями. Все это должно выполняться только в памяти, а не на жестком диске. Поэтому у меня пока есть следующая конструкция:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zip = null;
String FILE_NAME = "file.zip";

try {
   zip = new ZipOutputStream(baos);
   //now the critical part where the name of the file should be set
   ZipEntry entry = new ZipEntry(FILE_NAME);
   zip.putNextEntry(entry);
   byte[] data = FILE_NAME.getBytes();
   zip.write(data, 0, data.length);
   zip.closeEntry();
   //end of critical part and filling the rest of the zip
   //...
   //
}finally{
   IOUtils.closeQuietly(zip);
   byte[] byteFile = baos.toByteArray();
   IOUtils.closeQuietly(baos);}

Проблема в том, что zip-файл называется file.zip, но также содержит сам файл.zip. Как я могу назвать свой Zip-файл из ZipOutputStream без упаковки в этот один файл с таким же именем? К сожалению, я нашел это решение только здесь.

...