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();
        }
    }
  • 相关阅读:
    ugui点击穿透判断
    c#字符串代码,动态创建编译器
    github项目分享
    unity 2d 版的lookAt
    unity全屏截图
    shader例子
    AcWing 329. 围栏障碍训练场
    AcWing 326. XOR和路径
    AcWing 324. 贿赂FIPA
    AcWing 322. 消木块
  • 原文地址:https://www.cnblogs.com/kabi/p/6169430.html
Copyright © 2011-2022 走看看