zoukankan      html  css  js  c++  java
  • 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();
        }
    }
  • 相关阅读:
    scrapy练习1
    sys.path.append()加入当前目录为环境变量
    同济:003.映射与函数3
    1-4 无监督学习(Unsupervised Learning)
    1-3.监督学习(supervised learning)
    同济:002.映射与函数2
    github访问过慢解决
    LeetCode OJ:Contains Duplicate(是否包含重复)
    LeetCode OJ:Maximum Product Subarray(子数组最大乘积)
    LeetCode OJ:Valid Anagram(有效字谜问题)
  • 原文地址:https://www.cnblogs.com/kabi/p/6169430.html
Copyright © 2011-2022 走看看