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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值