Java:在目录中的Db中压缩文件

时间:2015-10-13 07:21:12

标签: java

我在数据库中存储了多个文件的blob。用户应该能够点击链接,并且应该能够以压缩方式下载所有文件。但在此之前,我想提供一个文件夹结构来分组这些文件。比如,基础文件夹后跟嵌套文件夹和相关文件。我按照下面的链接看起来,我需要首先创建一个物理目录结构,然后拉链结构?

http://www.journaldev.com/957/java-zip-example-to-zip-single-file-and-a-directory-recursively

1 个答案:

答案 0 :(得分:1)

zip目录中的文件被抽象为Java中的ZipEntry个对象。这些名称对应于相对于解压缩zip文件的目录的路径。 zip文件中的目录只是名称以/结尾的条目。这样,您还可以将zip文件视为二进制数据条目的简单列表,其名称反映了目录结构。 因此,您不必在硬盘驱动器上创建文件夹结构并压缩它,但您可以直接从数据库写入ZipOutputStream

  • 将每个文件夹创建为ZipEntry,但不包含内容且名称以/结尾。
  • 不使用FileInputStream来读取硬盘驱动器上的文件,而是将resultSet.getBinaryStream("blobcolumn")的输出直接写入条目。