Преобразование ZipOutputStream в FileInputStreamJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Преобразование ZipOutputStream в FileInputStream

Сообщение Anonymous »

у меня есть код, который берет файл, архивирует его и сохраняет в базе данных

выглядит так

Код: Выделить всё

          // STEP 1 - Create a ZIP file
byte[] buffer = new byte[1024];// 18024
ZipOutputStream outZip = new ZipOutputStream(new FileOutputStream("file.zip"));
outZip.setLevel(Deflater.DEFAULT_COMPRESSION);
FileInputStream in = new FileInputStream(c:\file.hex);
outZip.putNextEntry(new ZipEntry("file.hex"));
int len;
while (( len = in.read(buffer)) > 0)
outZip.write(buffer, 0, len);
outZip.closeEntry();
in.close();
outZip.close();

// STEP 2 - Insert zip file to DB
file = new File("file.zip");
FileInputStream fis = new FileInputStream( file );
объект Fis, который я храню в БД

но я хотел бы полностью избежать файловой системы, а не создайте файл file.zip.
Я думаю, мне нужно напрямую преобразовать ZipOutputStream в FileInputStream
но я не смог найти способ сделать это.

есть ли простой способ сделать это?
  • У меня такая же проблема, когда я извлекаю файл: чтобы прочитать его, мне нужно создать 2 разных временных файла — file.zip и file.hex


Подробнее здесь: https://stackoverflow.com/questions/164 ... nputstream
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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