美文网首页程序员
[原创] Java压缩

[原创] Java压缩

作者: 韩朝阳 | 来源:发表于2020-06-16 16:11 被阅读0次
    import java.io .*;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipOutputStream;
    
    /**
     * 压缩工具类
     *
     * @author 韩朝阳
     * @date 2020-06-16 15:39
     */
    public class ZipUtil {
    
        /**
         * 压缩方法
         *
         * @param targetFile 目标文件(.zip)
         * @param files      要压缩的文件
         * @return           压缩完成的目标文件
         */
        public static File zip(File targetFile, Collection<File> files) throws IOException {
    
            // 目标文件不存在则创建
            if (!targetFile.exists()) {
                targetFile.createNewFile();
            }
    
            // 创建ZipOutputStream
            ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(targetFile));
    
            // 遍历文件压缩
            FileInputStream fileInputStream = null;
            for (File file : files) {
                // 要压缩的这个文件不存在,跳过
                if (!file.exists()) {
                    continue;
                }
    
                zipOutputStream.putNextEntry(new ZipEntry(file.getName()));
                fileInputStream = new FileInputStream(file);
                int length = 0;
                byte[] buffer = new byte[1024];
                while ((length = fileInputStream.read(buffer)) > 0) {
                    zipOutputStream.write(buffer, 0, length);
                }
                zipOutputStream.closeEntry();
            }
    
            // 关闭资源
            if (fileInputStream != null) {
                fileInputStream.close();
            }
    
            // 关闭资源
            if (zipOutputStream != null) {
                zipOutputStream.close();
            }
    
            return targetFile;
    
        }
    
    }
    

    相关文章

      网友评论

        本文标题:[原创] Java压缩

        本文链接:https://www.haomeiwen.com/subject/bydrxktx.html