您的位置:首页 > 编程语言 > Java开发

Java将多个文件压缩为一个文件

2016-08-03 17:00 218 查看
public class ZipUtils {
 /**
     * 将多个压缩文件为一个zip文件
     * @param zipFilePath 压缩后存放的路径
     * @param fileList  要压缩的文件集合
     */
    public  void mutileFileToGzip(String zipFilePath,List<String> fileList) {
        File file = new File(zipFilePath);
        if (file.exists()) {
            file.delete();
        }
        try {
            byte[] buffer = new byte[1024];
            FileOutputStream fos = new FileOutputStream(zipFilePath);
            ZipOutputStream zos = new ZipOutputStream(fos);
            ArrayList<File> files=new ArrayList<File>();
            for(String fileName:fileList){
                files.add(new File(fileName));
            }
            for (int i = 0; i < files.size(); i++) {
                FileInputStream fis = new FileInputStream(files.get(i));
                zos.putNextEntry(new ZipEntry(files.get(i).getName()));
                int length;
                while ((length = fis.read(buffer)) > 0) {
                    zos.write(buffer, 0, length);
                }
                zos.closeEntry();
                fis.close();
            }
            zos.close();
        } catch (IOException ioe) {
        }
    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: