时间:2021-05-19
用java来打包文件生成压缩文件,有两个地方会出现乱码:
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压缩文件乱码问题的详细内容,感谢大家的学习和对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
遇到java向mysql插入数据乱码问题,如何解决?MySQL默认编码是latin1mysql>showvariableslike'character%';+-
winrar如何解压后自动生成创建快捷方式,压缩文件时,先在压缩选项选择"创建自解压格式压缩文件",然后才能在自解压选项设置解压路径、解压后运行程序以及添加快捷
JAR文件的全称是JavaArchiveFile,即Java档案文件。JAR文件是一种压缩文件,与常见的ZIP压缩文件兼容,被称为JAR包。JAR文件与zip文
Java实现压缩文件的解压缩操作,缺点是压缩文件内不能含有文件名为中文的的文件,否则会出现如下错误:复制代码代码如下:Exceptioninthread"mai
压缩文件已损坏的意思是下载的文件带有病毒,这样的压缩文件就是损坏的,就是电脑本身已经带有病毒,将下载好的压缩文件损坏了,在压缩文件的时候出现问题,导致文件本身损