可以在代码中指定字符编码设置,例如将编码方式设置为UTF-8。以下是示例代码:
public static void unzip(InputStream is, String destDirPath, String encoding) throws Exception { ZipInputStream zis = new ZipInputStream(is, Charset.forName(encoding)); ZipEntry entry = null; while ((entry = zis.getNextEntry()) != null) { String filePath = destDirPath + File.separator + entry.getName(); if (entry.isDirectory()) { File dir = new File(filePath); if (!dir.exists()) { dir.mkdirs(); } } else { BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath)); byte[] bytes = new byte[BUFFER_SIZE]; int len = -1; while ((len = zis.read(bytes)) != -1) { bos.write(bytes, 0, len); } bos.flush(); bos.close(); } } zis.close(); }
调用方法: unzip(zipFileInputStream, "/tmp/zip", "UTF-8");
其中,zipFileInputStream是zip文件的输入流,"/tmp/zip"是解压缩后文件的存放路径,"UTF-8"是字符编码方式。
上一篇:ADF检验结果摘要可能不可靠。