使用Java 导入Zip文件遇到中文命名乱码问题
来源:互联网 发布:郑云灿的淘宝店 编辑:程序博客网 时间:2024/05/22 12:30
偶然做到导入Zip附件,遇到中文命名乱码,总结下,备注
ZipFile zf = new ZipFile(import_fj);//接收文件
InputStream is=new BufferedInputStream(new FileInputStream(import_fj));//通过流传递ZipInputStream zin = new ZipInputStream(is,Charset.forName("ISO-8859-1")); //最重要的一个编码,首先通过ISO-8859-1转码
ZipEntry ze=null;
OutputStream fs =null;
Map<String, Object> map=new HashMap<String,Object>();
if(import_fj!=null){
while((ze = zin.getNextEntry()) != null) {
//判断目录结构区分文件和文件夹
ze=new ZipEntry(new String(ze.getName().getBytes("ISO8859_1"),"GBK"));//将ISO-8859-1转为GBK,此时中文已经正常显示
if (ze.isDirectory()) {
//文件夹
}else{
//文件
if(ze.getName()!=null){
//创建(身份证号码/附件名)类型文件夹格式
String[] s=ze.getName().split("/");
if(s[1]!=null&&s.length>2){
int result=examregisterService.compareBySfzhm(s[1]);
if(result==1){
//数据库存在报名表图片信息创建文件夹通过流导入图片文件
path = getRealPath("/") + "upload\\" +"seaman/examregister/fj/" +s[1];
File file = new File(path);
if(!file.exists()) {
file.mkdirs();
}
maps=getUploadFiles("seaman/examregister/fj/"+s[1]);
//判断目录下是否已经存在图片文件避免重复读取文件流
if(maps==null){
path = getRealPath("/") + "upload\\" +"seaman/examregister/fj/"+s[1]+"/"+s[2];
fs = new FileOutputStream(path);
long size = ze.getSize();
int len;
if (size > 0) {
InputStream fis=zf.getInputStream(ze);
byte[] bt = new byte[1024];
while((len=fis.read(bt)) != -1) {
fs.write(bt,0,len);
}
fs.flush();
fs.close();
fis.close();
successSize++;
}
0 0
- 使用Java 导入Zip文件遇到中文命名乱码问题
- java压缩zip文件中文乱码问题
- ubuntu中解压zip文件遇到中文乱码问题
- zip文件中文乱码问题
- java压缩zip文件中文乱码问题 linux 下
- ubuntu解压zip文件中文乱码问题
- java web 在jsp中使用include指令导入带中文的HTML文件乱码问题
- MyEclipse导入项目.java文件中文乱码问题
- java实现解压(zip和rar文件)实例-解决中文乱码问题
- eclipse导入项目,java文件中文乱码
- Ubuntu中解决解压zip文件中文乱码问题
- ubuntu下解决解压zip文件中文文件名乱码问题
- 在Ubuntu下解压.zip文件发现中文乱码问题
- Eclipse导入工程遇到的一些问题之中文乱码
- Eclipse导入工程遇到的一些问题之中文乱码
- Java实现Zip压缩与解压(解决中文乱码问题)
- Java实现Zip压缩与解压(解决中文乱码问题)
- Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)
- Android项目中异常捕获及对应Log日志文件保存
- ApiDoc学习使用
- Andorid 反编译App
- android背景选择器selector用法汇总
- java常用同步工具类
- 使用Java 导入Zip文件遇到中文命名乱码问题
- 玩味AndroidStudio的NewProject
- 解决列表 (ListView GrifView RecyclerView )结合CheckBox实现列表选择的的问题
- 我的博客
- 全局最小割模板 poj2914
- 无线传感网实验箱
- Spring 实现远程访问详解——rmi
- http块指令解析以及存储
- 如何通俗的解释计算机是如何实现1+1=2计算的?