当前位置:网站首页 > Haskell函数式编程 > 正文

zipentry创建文件夹(如何创建zip文件格式)



zip文件结构

ZipArchive 生成文件夹 zip文件如何创建_输出流

zip文件就是由一个或者多个条目组成。

条目在Java中对应ZipEntry类

创建zip压缩文件

知道了zip文件结构之后,大概就知道怎么去创建一个zip压缩文件了。

之前,先了解下创建普通的文件都是经过以下几个步骤:

1、创建文件输出流FileOutputStream fout = new FileOutputStream(new File("XXX"));

2、往文件输出流中写入文件内容,fout.write(XXX);

3、关闭输出流fout.close();

这样,一个普通的创建就是生成了

既然zip压缩文件也是文件,那么它的创建也基本都差不多,只是,zip文件结构跟普通文件有点差别,因为它里面是由条目(ZipEntry)组成的。

所以创建zip压缩文件的步骤如下:

1、创建zip压缩文件输出流

2、创建zip文件条目

备注:name指定条目的名称,例如上图显示的client.cer,这里name可以带路径,例如:a/b/c/test.txt,这样就是创建a/b/c这个目录。

3、将条目添加到zip文件输出流

4、创建被文件的输入流,读取文件内容,并写入到zip压缩文件输出流。这个时候,写入的内容都属于当前这个条目的。

5、关闭zip文件输出流

zip乱码问题解决

误解区:

以前都是以为一个文件或者目录就对应zip文件中的一个条目,其实并非一定是这样的。解析如下:

zip文件是以条目来组织,操作zip文件都是基于条目来进行的,因此,每次往条目新增内容时,

得首先创建zip文件条目,并将添加到zip文件输出,之后,zip输出流,才认为之后写入到输出流中的

内容都是属于这个条目,直到zip输出流中新增新的条目。不过一般来正常来说,都是一个文件或者目录就对应zip文件中的一个条目。

  

正常情况下,一个文件或者目录对应一个条目,如下图:

ZipArchive 生成文件夹 zip文件如何创建_输出流_02

但是也可以将a.txt、b.txt的内容都只写入的一个条目c.txt

ZipArchive 生成文件夹 zip文件如何创建_java_03

生成的zip文件结果图:

ZipArchive 生成文件夹 zip文件如何创建_ZipArchive 生成文件夹_04

这里可以发现,只要没有重新往zip文件输出流中添加新的条目,那么,所有的内容都是写入当前条目中。

自己封装的一个zip压缩工具类

到此这篇zipentry创建文件夹(如何创建zip文件格式)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 简单好玩的编程代码大全(简单编程代码大全软件)2025-08-16 07:27:08
  • 支付方式怎么填写三方(支付方式怎么填写三方信息)2025-08-16 07:27:08
  • oracle时间函数大全(oracle时间日期范围查询)2025-08-16 07:27:08
  • rmse公式(rmsea计算公式)2025-08-16 07:27:08
  • excel求rms公式(excel计算rms值)2025-08-16 07:27:08
  • sigmoid函数(双极性sigmoid函数)2025-08-16 07:27:08
  • 随机生成一个范围内的数的函数(随机生成一个范围内的数的函数怎么求)2025-08-16 07:27:08
  • raise过去式和过去分词形式(raise的过去式是什么)2025-08-16 07:27:08
  • 字体的图案样式怎么设置(字体文字效果怎么设置)2025-08-16 07:27:08
  • pem文件格式(pem后缀文件)2025-08-16 07:27:08
  • 全屏图片