java 压缩 乱码_如何解决java压缩文件乱码问题
用java来打包文件生成压缩文件,有两个地方会出现乱码:
内容的中文乱码问题:修改sun的源码。使用开源的类库org.apache.tools.zip.ZipOutputStream和org.apache.tools.zip.ZipEntry,这两个类ant.jar中有,可以下载使用即可。
压缩文件注释的中文乱码问题:zos.setComment("中文测试");通过使用设置编码的方法(zos.setEncoding("gbk");)发现问题,测试项目的编码方式为gbk,而默认编码是utf-8。
org.apache.tools.zip.ZipOutputStream默认使用项目的编码方式,通过setEncoding方法改成gbk即可解决。
java压缩文件代码:
package com.compress;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;
public class CompressEncodingTest {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
File f = new File("中文测试.txt");
ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(
new FileOutputStream("zipTest.zip"), 1024));
zos.putNextEntry(new ZipEntry("中国人.txt"));
DataInputStream dis = new DataInputStream(new BufferedInputStream(
new FileInputStream(f)));
zos.putNextEntry(new ZipEntry(f.getName()));
int c;
while ((c = dis.read()) != -1) {
zos.write(c);
}
zos.setEncoding("gbk");
zos.setComment("中文测试");
zos.closeEntry();
zos.close();
}
}
以上就是java压缩文件乱码问题的详细内容,感谢大家的学习和对脚本之家的支持。
java 压缩 乱码_如何解决java压缩文件乱码问题相关推荐
- php加载的文件都是乱码_怎么解决php读取文件乱码问题
php读取文件乱码的解决办法:首先打开相应的代码文件:然后通过"iconv($encodType, "utf-8", $content); "方法解决中文乱码即 ...
- 解压后java文字乱码_怎么解决java解压zip包出现乱码
怎么解决java解压zip包出现乱码 发布时间:2020-06-23 09:02:42 来源:亿速云 阅读:107 作者:Leah 怎么解决java解压zip包出现乱码?相信很多没有经验的人对此束手无 ...
- java http请求 乱码_怎么解决java中的http请求乱码
怎么解决java中的http请求乱码 发布时间:2020-06-23 20:00:11 来源:亿速云 阅读:90 作者:元一 怎么解决java中的http请求乱码?针对这个问题,今天小编总结了这篇文章 ...
- php echo 中文乱码_怎么解决php echo中文乱码问题?
怎么解决php echo中文乱码问题?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 需要了解的概念: Content-Type:用于定义用户的浏览器或相 ...
- python 折线图中文乱码_彻底解决 Python画图中文乱码问题--Pyplotz组件
1 源起 自从开始学习Python,就非常喜欢用来画图.一直没有需求画要中文显示信息的图,所以没有配置Python中文的环境.由于昨天就需要画几十个形式相同,只是数据不同的图,并且需要显示中文信息.如 ...
- mapinfo的tab图层汉字乱码_如何解决MapInfo打开文字乱码的问题
在使用MapInfo的过程中有时候会遇到这样的情况,由于文字中有韩语.日语或者阿拉伯语等文字的时候会显示为乱码或者问号,这主要是文字编码的问题,这里以shp格式的数据转换为tab格式为例,介绍一下解决 ...
- 如何排查mysql数据乱码_如何解决MYSQL数据库中文乱码问题?
aluckdog 在数据库安的时候指定字符集如果在安完了以后可以更改以下文件:C:\Program Files\MySQL\MySQL Server 5.0\my.ini里的所有的 default-c ...
- linux vim打开乱码,linux下解决vim打开文件乱码现象
maven + eclipse + tomcat热部署 环境:eclipse + tomcat + maven + m2eclipse 解决这种问题有两种方案(方案二更好用,不想看方案一的人可以直 ...
- 解决fileReader读取文件乱码
解决fileReader读取文件乱码 idea默认编码格式是utf-8(标准万国码的一种),而Windows操作系统默认是GBK(中文码表),如果fileReader读取系统中的文件,则无法将字节转换 ...
最新文章
- Leetcode-最佳买卖股票机含冷冻期
- boost::system::error_category相关的测试程序
- 【JDK源码】java.io包常用类详解
- 工作中常用到的 Spring 依赖管理技术盘点
- (亲测可行)vivo设备一键激活xposed框架方法
- 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数
- 转载 SpringMVC详解(三)------基于注解的入门实例
- 计算机二级Java上机环境安装与使用
- 控制系统matlab仿真,控制系统MATLAB仿真作业
- JavaScript判断数组的方法
- BOOST升压有源功率因数校正
- 微信开发遇到的那些坑
- Linux面试题史上最全总结
- 离骚,屈原,名句翻译
- 计算机裸机的功能,计算机中裸机是指什么
- 英语介词at、in、on常见用法(时间、地点、方位)
- C语言arduino密码锁实验报告,简易密码锁的制作-Arduino中文社区 - Powered by Discuz!...
- FCES2019 panel5:北大、南大、浙大的人工智能课程是如何建设的?
- checkpoint NGFW VM安装
- 我们说的那些培训班,到底要不要报?自学编程VS培训报班
热门文章
- LoadRunner8.1破解汉化过程
- ROS(Robot Operating System)笔记 : 1.使用launch file在gazebo中生成urdf机器人
- 大话数据结构 (程杰 著)
- Bitmap尺度变换
- 《Python地理数据处理》——导读
- 修改mysql表的存储引擎
- [转载]如何将Putty生成的PrivateKey转换为SecureCRT所需的PublicKey
- .net 预编译 提示中导入的类型 冲突
- 禁止ipc$默认共享的方法
- 大脑可以自动修复酗酒造成的脑细胞损坏