【JAVA】net.lingala.zip4j获取压缩包内文件内容里中文乱码

发布时间 2023-09-07 18:47:23作者: 乡屯米卒

总的来讲:BufferedReader fr = new BufferedReader(new InputStreamReader(inputStream,StandardCharsets.UTF_8));

网上说的几种情况:
1、zipFile.setCharset(Charset.forName("gbk"))

  这个不好用,有可能需要正了八经解压之后。直接从压缩里取,可能在IO层面是什么压缩包的算法,不知道,我猜的

2、new String(str..getBytes("UTF-8"))

  这个只能说好用一点点。用了这个之后发现三个字的名字只显示前两个字,后面都是问号,就奇葩。

咱就是说,从根本上来讲,在获取流的时候,可以写个UTF_8这种规则,那挺好。