zoukankan      html  css  js  c++  java
  • JAVA压缩ZIP文件

    public static void main(String[] args) throws IOException
        {
            String path = "F:\HTML\PAY";
            String zipFile = "F:\HTML\PAY\zip_"+System.currentTimeMillis()+".zip";
            File dictionary = new File(path);
            
            File[] listFiles = dictionary.listFiles();
            ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFile));
            zip(path,listFiles,zipOut);
            zipOut.flush();
            zipOut.close();
            System.out.println("Finished");
        }
        
        public static void zip(String root,File[] fileList, ZipOutputStream zipOut) throws IOException
        {
            
            ZipEntry ze = null;
            for (File file : fileList)
            {
                if (file.isDirectory())
                {
                    zip(root,file.listFiles(), zipOut);
                }
                else
                {
                    // 创建ZipEntry ,设置需加入压缩包的对象名称,为压缩后的文件设置名称
                    String fileName = file.getParent().replace(root, "")+File.separator+file.getName();
                    if(fileName.startsWith(File.separator)){
                        fileName = fileName.substring(1);
                    }
                    System.out.println(fileName);
                    ze = new ZipEntry(fileName);
                    ze.setSize(file.length());
                    ze.setTime(file.lastModified());
                    // 每一个被压缩的文件都用ZipEntry表示
                    zipOut.putNextEntry(ze);
                    
                    FileInputStream fileInputStream = new FileInputStream(file);
                    byte buffer[] = new byte[4096];
                    for (int n = 0; -1 != (n = fileInputStream.read(buffer));)
                    {
                        zipOut.write(buffer, 0, n);
                    }
                    fileInputStream.close();
                }
            }
        }
    

      

  • 相关阅读:
    mfc cef<转>
    js人形时钟
    opencv给图片添加文字水印<转>
    strcore.cpp(156) 内存泄漏
    WebAssembly相关
    mingw 搭建Emscripten 环境
    mingw 设置python 设置git环境变量
    android平台yuv缩放相关<转>
    多媒体基础知识之PCM数据《 转》
    iOS 5 故事板进阶(2)
  • 原文地址:https://www.cnblogs.com/foxting/p/12501847.html
Copyright © 2011-2022 走看看