首页 > 作文

Java实现创建Zip压缩包并写入文件

更新时间:2023-04-04 15:21:16 阅读: 评论:0

前言

工作中需要把一些数据放到一个zip的压缩包中,可以使用 zipoutputstream。zipoutputstream可以将内容直接写入到zip包中。一般创建zipoutputstream通常是先封装一个fileoutputstream,然后在每写入一个文件之前,需要先调用一次putnextentry,然后使用write写入byte[]类型的数据,当写入完毕的时候使用colentry来结束这个文件的打包。当然也可以通过zipoutputstream直接把数据写入压缩包内,在压缩包内构建数据。

使用

public static void filetest() throws ioexception {   string txtpath = "d:\\filetest\\image\.txt";    string zippath = "d:\\filetest\\image\.zip";  //压缩包路径    string str = "测试test123abc";          //需要写入的数据    //创建压缩包    zipoutputstream zipoutputstream = new zipoutputstream(new fileoutputstream(zippath));    //封装一个文件    filewriter filewriter = null;    try {      filewriter = new filewriter(txtpath);      filewriter.write(str);   去疤产品   filewriter.flush();      filewriter.clo();    } catch (ioexception e) {      log.error("filewriter", e);    }    //对上面封装好的文件构建一个fileinputstream    fileinputstream fis = new fileinputstream(txtpath);    //压缩包里创建一个空文件    zipoutputstream.putnextentry(new zipentry("request.json"));    //写入压缩文件    int len;    byte[] buffer = ne寒假计划英语w byte[1024]; //字节数组大小可调节    //读取fis字节流,转移到buffer字节数组中去,读取后fis为空    while ((len = fis.read(buffer)) > 0) {      zipoutputstream.write(buffer, 0, len);    }    byte[] b = new byte[1024];    int a = fis.read(b);  //关闭压缩包打包    zipoutputstrbearableeam.cloentry();    fis.clo();    zipoutputstream.flush();    zipoutputstream.clo();  }

运行之后,将会创建如下文件:

压缩包内会产生一个叫request.json文件,如图:

开学第一课安全教育教案内容与2.txt里的内容一致,为“测试test123abc”。

上述方法是:先创建2.txt,再读取2.txt的内容,导入到压缩包内形成文件。相同的逻辑,我们可以读取任意其他文件,然后把他们放入到压缩包内。

直接将内容导入到压缩包内

当然我们也可以直接将数据导入到压缩包内。实现如下:

 public static void filetest() throws ioexception {   string zippath = "d:\\filetest\\image\.zip";   //压缩包路径   string str1 = "测试test123abc";           //需要写入的数据   string str2 = "测试2";   string name1 = stringutils.join("文件.json");   //压缩包里的文件   string name2 = stringutils.join("file/文件1.json"); //在压缩包里创建file目录下的文件   //创建压缩包   zipoutputstream zipoutputstream = new zipoutputstream(new fileoutputstream(zippath));   //创建压缩包里的文件   zipoutputstream.putnextentry(new zipentry(name1));   byte[] bytes1 = str1.getbytes(standardcharts.utf_8);   zipoutputstream.write(bytes1, 0, bytes1.length);  //将数据写入到压缩包里的文件里面   zipoutputstream.cloe四级阅读真题ntry();   zipoutputstream.putnextentry(new zipentry(name2));   byte[] bytes2 = str2.getbytes(standardcharts.utf_8);   zipoutputstream.write(bytes2, 0, bytes2.length);   zipoutputstream.cloentry();   zipoutputstream.flush();   zipoutputstream.clo(); }

上述是直接将string类型数据转换成byte数组,导入到压缩包内,形成两个文件:

file文件夹里面是文件1.json,里面的内容是“测试2”,文件.json的内容则是“测试test123abc”。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

本文发布于:2023-04-04 15:21:14,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/867c117db3cd4b48756cbfeed5e6b7e7.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Java实现创建Zip压缩包并写入文件.doc

本文 PDF 下载地址:Java实现创建Zip压缩包并写入文件.pdf

标签:文件   数据   压缩包内   压缩包
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图