如何在Java

时间:2018-05-12 15:12:03

标签: java blob

我将数据库中的PDF存储为blob。我有一个用例来检索blob文件(PDF)并使用java压缩它。有人可以帮帮我吗?

以下是我的示例代码。我从数据库获取我的pdf作为BLobDomain 我希望它在一个blobfolder中,我已经给出了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 :(得分:0)

在添加下一个zip条目之前,您需要编写zip条目的内容。

呼叫顺序应为:

  • putNextEntry() - 开始编写新的ZIP文件条目,并将流定位到条目数据的开头。如果仍处于活动状态,则关闭当前条目。
  • write() - 将一个字节数组写入当前的ZIP条目数据。
  • closeEntry() - 关闭当前的ZIP条目并定位流以写入下一个条目。
    此调用是可选的,因为如果仍然有效,则为下一个条目调用putNextEntry()会自动关闭当前条目。

对要添加到zip文件的每个条目重复上述步骤。