·# 需求:需要将zip文件里面的文件进行拷贝,将拷贝后的文件上传到对应的服务器
-
遇到的问题,在读取zip文件里面的文件时,发现读取到的文件大小和实际文件大小不一致
-
相关代码如下:
public class ZipFileDemp {
@SneakyThrows
public static void main(String[] args) {
File fileTemp = new File("/Users/zhuifengzheng/Downloads/files.zip");
FileInputStream fileInputStream = new FileInputStream(fileTemp);
ZipFile zipFile = new ZipFile(fileTemp);
Enumeration zf = zipFile.entries();
// zip文件需要设置为gbk编码读取
ZipInputStream zip = new ZipInputStream(fileInputStream, Charset.forName("gbk"));
BufferedInputStream bs = new BufferedInputStream(zip);
ZipEntry ze;
int i=1;
while (zf.hasMoreElements()) {
ze = (ZipEntry) zf.nextElement();
// 这里主要是跳过隐藏文件
if (ze.getName().startsWith("_")) {
continue;