0
点赞
收藏
分享

微信扫一扫

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

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");

}

举报

相关推荐

0 条评论