• Java 生成压缩包,ZipOutputStream的使用


    案例:根据url 获取网络资源A,B,C   将资源A,B,C放在一起生成一个xxx.zip

    直接看代码

    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipOutputStream;
    
    public class DownUrl {
        public static String downloadUrl="http://www.baidu.com/img/baidu_sylogo1.gif";
        public static String downloadUrl2="http://www.baidu.com/img/baidu_sylogo1.gif";
        public static String downloadUrl3="http://www.baidu.com/img/baidu_sylogo1.gif";
        
        /**
         * @param args
         * @throws Exception 
         */
        public static void main(String[] args) throws Exception {
            downloadZip();  
        }public static void downloadZip() throws Exception{
            long start=System.currentTimeMillis();
            String [] urls={downloadUrl,downloadUrl2,downloadUrl3};
            ZipOutputStream outStream = new ZipOutputStream(new FileOutputStream("D:/1.zip"));
            
            for(String u:urls){
                String ext=u.substring(u.lastIndexOf("."), u.length());
                String fileName=""+System.currentTimeMillis()+ext;
                URL url = new URL(u);
                URLConnection c = url.openConnection();
                c.connect();
                int fileLength=c.getContentLength();
                System.out.println("file size:"+fileLength);
                
                InputStream is = c.getInputStream();
                
                outStream.putNextEntry(new ZipEntry(fileName));
                
                byte[] buffer=new byte[2048];
                int len;
                while((len=is.read(buffer))!=-1){
                    outStream.write(buffer,0,len);
                }
               //关闭流,省略
            }
            //关闭流,省略
            long end=System.currentTimeMillis();
            System.out.println("zip ok ,use time:"+(end-start)+"hao miao ");
            
        }
    
        
        
    }
  • 相关阅读:
    物流与仓库
    测试使用
    禅修的升级
    《引爆点 马尔科姆 格拉德威尔》读书笔记总结----《创业必读书第20本》--创业第三关做好业务:3,如何做好营销和增长第4本
    shell
    Vue中常用的方法记录
    前端工程化3-tapable
    Browser上传文件到华为云/七牛云 详细步骤
    immutable
    shell利用叮叮发送消息
  • 原文地址:https://www.cnblogs.com/demingblog/p/3858465.html
Copyright © 2020-2023  润新知