压缩文件,解决 被压缩文件中文乱码

    xiaoxiao2021-12-14  17

    import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.List; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream; public class ZipUtils { // 压缩      public static Integer compress(List<String> srcFiles, String zipFile) throws Exception {      File zfile = new File(zipFile);     if(!zfile.exists()){     zfile.createNewFile();     }     int len = 0;     byte[] b = new byte[1024];     ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile));     zos.setEncoding("GBK");  // 被压缩的文件     for(String temp:srcFiles){     File file = new File(temp);         if(!file.exists()){         zos.close();         throw new Exception("待压缩文件不存在");         }                 FileInputStream fis = new FileInputStream(temp);         BufferedInputStream readBuf = new BufferedInputStream(fis);     // 在压缩包中的路径     ZipEntry z1 = new ZipEntry(file.getName());     zos.putNextEntry(z1);     while ((len = readBuf.read(b,0,1024)) != -1)  {      zos.write(b, 0, len);      zos.flush();             }      fis.close();     } zos.close();     return 1;     } public static void main(String[] args) throws Exception  {  //压缩 List aa = new ArrayList(); aa.add("E:/还是打开/ATTACHMENT_FILE.sql"); aa.add("E:/还是打开/BLACK_NAME_LIST.sql"); compress(aa,"E:/还是打开/zz压缩文件.zip"); }
    转载请注明原文地址: https://ju.6miu.com/read-965181.html

    最新回复(0)