乱码截图:
解决办法:
使用IOUtils.copy方法操作流,同时编码使用GBK(经测试UTF-8也会出现乱码)
@SneakyThrows
public static void unZip(File srcFile) {
ZipArchiveInputStream zipArchiveInputStream = new ZipArchiveInputStream(new FileInputStream(srcFile), "GBK", true);
ZipArchiveEntry archiveEntry;
while ((archiveEntry = zipArchiveInputStream.getNextZipEntry()) != null) {
if (!archiveEntry.getName().startsWith("__MACOSX")) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
IOUtils.copy(zipArchiveInputStream, baos);
baos.close();
System.out.println(new String(baos.toByteArray(),"GBK"));
}
}
}