❶ 请问用java编写一个压缩程序,怎样解决压缩文件zip里的文件名乱码问题!
没做过压缩程序,JAVA里面的字符串使用的编码为unicode,ZIP文件里面用的应该是本地编码(中文操作系统用的是GB2312)。
你可以尝试着用类似这样的语句:String str = ( otherStr.getBytes("GB2312") );
祝好运。
❷ java用apache的ZipEntry压缩文件名为中文的word文件时,文件名乱码
对于输出zip文件的ZipOutputStream对象设置一下编码:
ZipOutputStreamout=newZipOutputStream(newFileOutputStream(
zipFileName));
//设置filenames的编码
out.setEncoding("UTF-8");
通常linux下使用utf8进行文件命名编码,而windows下采用gbk,根据你的系统情况而定
可参考下api:
http://www.jajakarta.org/ant/ant-1.6.1/docs/ja/manual/api/org/apache/tools/zip/ZipOutputStream.html
❸ 急!!java linux 从服务器上创建一个zip包 向zip包里写文件 下载zip包中文乱码
用的是什么zip库,有没有设置编码格式。
例如,zip4j的话,zf.setFileNameCharset("UTF-8");
❹ 通过java控制linux环境下解压文件夹后中文文件名是乱码
压缩成rar格式的再试试
❺ java中jar打包后中文文件全部乱码,如何解决
1、用代码混淆器,混淆后一般都是一些西文字符,这些字符在GBK和UTF8中映射键应该是一样的。但是上网搜索老半天就是找不到好用的针对源代码的工具。
2、转化源代码编码。这个我试过了,但是文件名在打包后仍变成乱码。不知道如何改变文件名的编码格式。
3、自己做一个转化程序,把源代码中的中文名转化为任意的西文。但是自己的正则表达式基础太差,写不好这种程序,特别是区分哪个是String里的内容还是标识符。。
可以了
❻ 如何解决java程序解压含有中文名的zip压缩包出现乱码
上次利用java自动的java.util.zip.ZipEntry和�0�2java.util.zip.ZipFile来解压zip文件,今天发现程序在读取解压文件时居然报了空指针异常,debug程序后发现时读取不到文件,产生原先是zip压缩文件中含有中文的名称,读取文件名为乱码,
报找不到文件名,所以报了空指针,想到ant构建文件也有这个功能,换了apache的ant.jar居然解决了中文的问题。
备份下。
�0�2import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Enumeration;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;/*** 读取zip压缩文件中文本的内容
* @author fish*/public class ReadZip {
public static void main(String args[]) {try {String fileName = "D:/workspace/java/src/ReadZip.zip";
//构造ZipFile
ZipFile zf = new ZipFile(new File(fileName));
//返回 ZIP file entries的枚举.
Enumeration<? extends ZipEntry entries = zf.getEntries();
while (entries.hasMoreElements()) {
ZipEntry ze = entries.nextElement();
System.out.println("name:"+ze.getName());
long size = ze.getSize();
if (size 0) {
System.out.println("Length is " + size);
BufferedReader br = new BufferedReader(
new InputStreamReader(zf.getInputStream(ze)));
String line;
while ((line = br.readLine()) != null) {
❼ java下载,中文名称出现乱码问题
我不太清楚怎么回事,但是网络上的很多资源都支持英文,对中文的支持有问题,很可能是网页中的编码是GB2312*(大多的jsp和asp),也许你的电脑是UTF-8或则别的,这中问题和配置有很大的关系,建议不要使用中文
❽ 用好压软件压缩文件为zip格式,在用JAVA的zip4j包进行解压,但是解压后出现乱码,怎么事
按照你说的我没有乱码,把压缩文件贴出来瞧瞧。
❾ java 中文乱码问题。崩溃了快。
你好,帮你看了一晚上,一直以为是程序转码的问题,看了半天的API和源码,均没有找到可以设置字符编码的地方。上网一查,原来是jdk的问题,网上是这样解释的:
上网查了下,有两种方法,一种修改jdk ZipInputStream及ZipOutputStream 的源文件,比较麻烦,不建议此项.第二种 就是拿来主义,因为 开源项目 Ant 里已经有现成的实现.把ant.jar 加入到 工程下的lib目录即可.
在调试的过程中,发现了一些问题,帮你改正了下,你的程序打包后,里面的层次关系错乱了。只需要将其中的一句改为:
fileIn = new FileInputStream(fileName);
String entryName = fileName.getPath(); //这句,将fileName.getName()修改为getPath
// 生成的压缩包存放在原目录下
zipEntry = new ZipEntry(entryName) ;
这样就正常了。
❿ java压缩zip文件中文乱码问题
我以前也遇到过这个问题,最后发现java自带的zip压缩没办法解决中文名乱码的问题
你可以使用apache ant的zip类(package: org.apache.tools.zip)来解决这个问题。