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();
        }
    }
  • 相关阅读:
    pgsql 时间转时间戳
    java SHA-1加密
    java 输出json文件
    按照指定字符串截取文本
    java 科学计数法转换
    【原创】几个常用机场的对比
    【原创】Google Cloud服务器路由分析
    批量转换文件Unicode到中文
    博客搬家
    关于zookeeper
  • 原文地址:https://www.cnblogs.com/kabi/p/6169430.html
Copyright © 2011-2022 走看看