上传文件时并顺便将文件压缩时出现文件名乱码以及文件内容乱码解决方案

1.文件名乱码

这是因为压缩文件的包(也就是类)的问题:

import java.util.zip.ZipOutputStream;

这个引入的包对汉语乱码,对数字和字母没事;

解决:

应该引入此包:

import org.apache.tools.zip.ZipOutputStream;

import org.apache.tools.zip.ZipEntry;
import java.nio.charset.Charset;  

2.文件内容乱码:

outputStream.putNextEntry(new ZipEntry(fileName)); //// 创建指向压缩原始文件的入口
outputStream.setEncoding("GBK");
byte[] buffer = new byte[2048];//// 向压缩文件中输出数据
int len=0;
while ((len=fileIn.read(buffer))>0)
{
//outputStream.write(buffer);
outputStream.write(buffer, 0, len);
}
outputStream.closeEntry();
fileIn.close();
outputStream.close();

应该是大于0,(>0),,解决文件内容乱码的问题

原文地址:https://www.cnblogs.com/mayay/p/6198521.html