前言
最近在改hutool bug 的时候遇到了往压缩包里添加文件的bug,在网上查了很多,有挺多没用的文章,所以自己来补一下。
我使用的是Java8,我下面的文章也是基于Java8写的,如果你用的是Java7(不包括7)以下的版本,那我下面说的就不适合你了,但你可以去stackoverflow上查。
参考文章
https://stackoverflow.com/questions/2223434/appending-files-to-a-zip-file-with-java
Java7的Zip工具类:Zip File System Provider
代码
package cn.hutool.core.util;
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.HashMap;
public class NewTest {
/**
* 在zip文件中添加新文件, 如果已经存在则不会有效果
*
* @param zipFilePathStr zip文件存储路径
* @param appendFilePathStr 待添加文件路径
*/
public static void addFile(String zipFilePathStr, String appendFilePathStr) throws IOException {
Path zipPath = Paths.get(zipFilePathStr);
Path appendFilePath = Paths.