Java 压缩ZIP包后 压缩包内文件名乱码问题解决

import java.util.zip.ZipOutputStream;
import java.io.FileOutputStream;
import java.nio.charset.Charset;

FileOutputStream fos = new FileOutputStream("src/main/resources/dirCompressed.zip");

// ❗❗❗指定编码可以避免因为环境配置的问题导致的文件名乱码
ZipOutputStream zipOut = new ZipOutputStream(fos, Charset.forName("utf-8"));

网上有很多文章要添加jar包依赖
例如:

  • https://blog.csdn.net/u013241093/article/details/82526097
  • https://www.cnblogs.com/stono/p/6736329.html

在JDK8之前java自带的ZipOutputStream方法确实没有解决该乱码问题,
之后可以通过java原生的ZipOutputStream指定编码格式来解决乱码问题.

你可能感兴趣的:(Java,ZIP,乱码)