场景:解压xxxx.zip文件(如果zip文件里面嵌套zip,市面上工具基本不支持,自己写个递归方法即可),中文文件名出现乱码
工具:zip4j(默认编码集UTF-8)
乱码原因:
ZIP格式在不同平台上使用不同软件压缩:
1. Windows下使用WinRAR、好压、快压、百度压缩、360等工具压缩的文件 特点:文件名为GBK编码
2. 使用Linux、MacOS等系统压缩的zip文件 特点:文件名为UTF-8编码
maven配置信息:
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>2.7.0</version>
</dependency>
解决方法:(直接上代码)
import com.google.common.collect.Lists;
import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import net.lingala.zip4j.model.FileHeader;
import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
/**
* @author Angelo
* @date 2021/4/12 16:44
**/
public class ZipUtils {
private static final Logger logger &