Как Zip Blob значение (PDF) в Java - PullRequest
0 голосов
/ 12 мая 2018

У меня есть PDF-файл, хранящийся в базе данных как blob. У меня есть сценарий для получения файла BLOB-объекта (PDF) и архивирования его с использованием Java. Может ли кто-нибудь помочь мне здесь?

Ниже приведен мой пример кода. Где я могу получить свой PDF из базы данных как BLobDomain Я хочу, чтобы это было внутри большой папки, и я дал представление ниже 807.pdf и 1285.pdf. Вот как я хочу, чтобы мои значения blobdomain были

 BlobDomain doc1=(BlobDomain)rowshis[0].getAttribute("Document");

 BlobDomain doc2=(BlobDomain)rowshis[1].getAttribute("Document");

        StringBuilder sb = new StringBuilder();

        sb.append("Test Date");
        System.out.println("check----1");

        File f = new File("/customer/scratch/HDLtest.zip");
        ZipOutputStream out = new ZipOutputStream(newFileOutputStream(f));
        System.out.println("check----2");

        ZipEntry e = new ZipEntry("BlobFiles/807.pdf");
        out.putNextEntry(e);
        ZipEntry e11 = new ZipEntry("BlobFiles/1285.pdf");
        out.putNextEntry(e11);
        System.out.println("check----3");
        ZipEntry e1 = new ZipEntry("Test.dat");
        out.putNextEntry(e1);
        System.out.println("check----4");

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

1 Ответ

0 голосов
/ 12 мая 2018

Вам необходимо записать содержимое записи zip перед добавлением следующей записи zip.

Последовательность вызовов должна быть:

  • putNextEntry() - Начинает запись новой записи файла ZIP и помещает поток в начало данных записи.Закрывает текущую запись, если она еще активна.
  • write() - Записывает массив байтов в данные текущей записи ZIP.
  • closeEntry() - Закрывает текущую запись ZIP и помещает поток для записи следующей записи.
    Этот вызов не является обязательным, поскольку для следующей записи автоматически вызывается putNextEntry()закрывает текущую запись, если она еще активна.

Повторите выше для каждой записи, которую вы хотите добавить в zip-файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...