我在数据库中存储了多个文件的blob。用户应该能够点击链接,并且应该能够以压缩方式下载所有文件。但在此之前,我想提供一个文件夹结构来分组这些文件。比如,基础文件夹后跟嵌套文件夹和相关文件。我按照下面的链接看起来,我需要首先创建一个物理目录结构,然后拉链结构?
http://www.journaldev.com/957/java-zip-example-to-zip-single-file-and-a-directory-recursively
答案 0 :(得分:1)
zip目录中的文件被抽象为Java中的ZipEntry
个对象。这些名称对应于相对于解压缩zip文件的目录的路径。 zip文件中的目录只是名称以/
结尾的条目。这样,您还可以将zip文件视为二进制数据条目的简单列表,其名称反映了目录结构。
因此,您不必在硬盘驱动器上创建文件夹结构并压缩它,但您可以直接从数据库写入ZipOutputStream
:
ZipEntry
,但不包含内容且名称以/
结尾。FileInputStream
来读取硬盘驱动器上的文件,而是将resultSet.getBinaryStream("blobcolumn")
的输出直接写入条目。