• Java-IO之DeflaterOutputStream和InflaterOutputStream


    此类为使用 “deflate” 压缩格式压缩数据实现输出流过滤器

    example

    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.zip.Deflater;
    import java.util.zip.DeflaterOutputStream;
    import java.util.zip.Inflater;
    import java.util.zip.InflaterOutputStream;
    
    public class DeflaterOutputStreamIO {
        private static String inPath = "D:\a.bat";
        private static String outPath = "D:\b.bat";
    
        public static void main(String[] args) throws Exception {
            // 压缩文件
             deflater(inPath,outPath);
            // 解压文件
            Inflater(outPath, "D:\c.bat");
    
        }
    
        /**
         * 
         * @param outPath2
         *            压缩后的文件
         * @param str
         *            解压后的文件
         * @throws Exception
         */
        private static void Inflater(String outPath2, String str) throws Exception {
            FileInputStream fis = new FileInputStream(new File(outPath));
            FileOutputStream fos = new FileOutputStream(new File(str));
            InflaterOutputStream ios = new InflaterOutputStream(fos, new Inflater(true));
    
            byte[] b = new byte[1024];
            int len = 0;
            while ((len = fis.read(b)) != -1) {
                ios.write(b, 0, len);
            }
            fis.close();
            ios.close();
        }
    
        /**
         * 
         * @param inPath
         *            原文件
         * @param outPath
         *            压缩后的文件
         * @throws Exception
         */
        public static void deflater(String inPath, String outPath) throws Exception {
            FileInputStream fis = new FileInputStream(new File(inPath));
            FileOutputStream fos = new FileOutputStream(new File(outPath));
            DeflaterOutputStream dos = new DeflaterOutputStream(fos,
                    new Deflater(9,true));
    
            byte[] b = new byte[1024];
            int len = 0;
            while ((len = fis.read(b)) != -1) {
                dos.write(b, 0, len);
            }
            fis.close();
            dos.close();
        }
    }
  • 相关阅读:
    plusOne
    lengthOfLastWord
    maxSubArray
    countAndSay
    学生会管理系统-后端个人总结
    基于图结构实现地铁乘坐线路查询
    地铁线路项目简要分析
    Spring Boot 路由
    Spring Boot 项目配置的使用方法
    IDEA搭建Spring Boot项目
  • 原文地址:https://www.cnblogs.com/kabi/p/6169430.html
Copyright © 2020-2023  润新知