Java基础(5)-----IO_3_压缩和解压缩

思维导图

 

 一个简单的例子

//文件对象
        File file = new File("e:/test.zip");
        try {
            //压缩流只是修饰流,所以需要基本流
            FileOutputStream fos = new FileOutputStream(file);
            //可以对压缩流进行加密,Adler32是一种加密方式
            CheckedOutputStream cos = new CheckedOutputStream(fos,new Adler32());
            //压缩流
            ZipOutputStream zos = new ZipOutputStream(cos);
            DataOutputStream dos = new DataOutputStream(zos);

            //把数据写入新的条目中
            zos.putNextEntry(new ZipEntry("test1.txt"));
            zos.putNextEntry(new ZipEntry("test2.txt"));

            //写入数据
            dos.writeInt(2);

            dos.close();

            //设置输入流
            FileInputStream fi = new FileInputStream(file);
            CheckedInputStream cis = new CheckedInputStream(fi,new Adler32());
            ZipInputStream zis = new ZipInputStream(cis);
            DataInputStream dis = new DataInputStream(zis);

            //读取数据并输出到控制台

            //压缩条目对象
            ZipEntry ze;
            //获取压缩文件的压缩条目对象
            while((ze = zis.getNextEntry()) != null){
               while(dis.available() != 0){
                   System.out.println(dis.read());
               }
            }


            //关闭流
            dis.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch(IOException e){
            e.printStackTrace();
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值