解压后java文字乱码_怎么解决java解压zip包出现乱码
怎么解决java解压zip包出现乱码
发布时间:2020-06-23 09:02:42
来源:亿速云
阅读:107
作者:Leah
怎么解决java解压zip包出现乱码?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
解决思路:
首先判断需要解压的文件是否存在或路径是否正确,接着判断路径是否存在,若不存在则创建路径,然后判断压缩文件是否合法,最后设置文件名称编码为“GBK”即可。
示例代码:package com.yunfei.fts;
import java.io.File;
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.model.ZipParameters;
import net.lingala.zip4j.util.Zip4jConstants;
public class ZipUtil {
/**
* todo zip解压缩
* @param source 压缩文件全路径
* @param target 要解压路径
* @param targetName 解压文件夹名称
*/
public static void unzip (String source,String target,String targetName) throws Exception{
try {
File file = new File(source);
if(!file.exists() || file.isDirectory()){
throw new Exception("将要解压文件不存在或路径填写不正确!");
}
file = new File(target+File.separator+targetName);
if(!file.exists()){
file.mkdirs();
System.out.println("路劲不存在,创建路径");
}
ZipFile zipfile = new ZipFile(source);
if (!zipfile.isValidZipFile()) {
throw new Exception("压缩文件不合法,可能被损坏.");
}
zipfile.setFileNameCharset("GBK");
zipfile.extractAll(target+File.separator+targetName);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
/**
* todo 生成zip压缩
* @param source 要压缩文件全路径
* @param target 压缩文件存放路径
* @param targetName 解压文件名称
*/
public static void zip (String source,String target,String targetName) throws Exception{
try {
File file = new File(target);
if(!file.exists()){
file.mkdirs();
System.out.println("解压存储路劲不存在,创建路径");
}
file = new File(source);
if(!file.exists()){
throw new Exception("将要解压文件不存在或路径填写不正确!");
}
ZipFile zipfile = new ZipFile(target+File.separator+targetName);
zipfile.setFileNameCharset("GBK");
ZipParameters params = new ZipParameters();
params.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); // 压缩方式
params.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); // 压缩级别
//zipfile.cr
if(file.isFile()){
zipfile.addFile(file, params);
}else{
zipfile.addFolder(source, params);
}
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
public static void main(String[] args) {
try {
unzip("d:\\home.zip","e:\\","test");
zip("D:\\home","e:\\","test.zip");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
看完上述内容,你们掌握解决java解压zip包出现乱码的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
解压后java文字乱码_怎么解决java解压zip包出现乱码相关推荐
- java http请求 乱码_怎么解决java中的http请求乱码
怎么解决java中的http请求乱码 发布时间:2020-06-23 20:00:11 来源:亿速云 阅读:90 作者:元一 怎么解决java中的http请求乱码?针对这个问题,今天小编总结了这篇文章 ...
- maple 2018 窗口关闭提示乱码_如果解决SOLIDWORKS工程图转CAD字体出现乱码的问题_SolidWorks生信科技...
操作SOLIDWORKS工程图转CAD时,由于SOLIDWORKS使用的是Windows字体,而CAD使用的是线性字体,字体就容易出现乱码的苦恼.一般出现乱码是因为字体映射里面没有中文,所以会导致乱码 ...
- java 压缩 乱码_如何解决java压缩文件乱码问题
用java来打包文件生成压缩文件,有两个地方会出现乱码: 内容的中文乱码问题:修改sun的源码.使用开源的类库org.apache.tools.zip.ZipOutputStream和org.apac ...
- python打包出现乱码_python解压zip包中文乱码解决方法
乱码得原因: 由于ZipFile模块导出遇到中文解码不对,windows上会出现,linux是否会出现不知道没测试过. 解决方式: 1. 搞个文件名引射表(不太方便,少量文件夹套用时候还可以) 2. ...
- java如何解压rar文件怎么打开_如何在java中实现对zip和rar文件的解压
如何在java中实现对zip和rar文件的解压 关注:101 答案:1 mip版 解决时间 2021-01-26 10:50 提问者芣①樣哋羙莮 2021-01-25 22:44 如何在java中 ...
- java 字符串乱码_这份Java面试题含答案解析竟然真的让你不用在面试上“如履薄冰”...
面试题集共分为以下十部分: 一.Core Java: 1 - 95 题1 - 24 页 基础及语法: 1 - 61 题1 - 13 页 异常: 62 - 69 题13 - 15 页 集合: 70 - ...
- java乱码怎么解决_如何解决java乱码
如何解决java乱码 同样的java文件,如果使用不用的工具.编译有可能出现乱码,这是为什么呢?以下是小编为大家搜索整理的如何解决java乱码,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业 ...
- java 字符串文字筛选_拜托,Java。 最终是否支持多行字符串文字
java 字符串文字筛选 我了解Java语言的思想很难以向后兼容的方式进行维护. 我知道JDK API(例如集合)的想法很难打破. 是. 我不明白为什么Java 仍然没有多行字符串文字. 您多久编写一 ...
- java导出excel文件名_怎么解决java导出excel时文件名乱码
怎么解决java导出excel时文件名乱码 发布时间:2020-06-19 16:59:00 来源:亿速云 阅读:137 作者:元一 java解决导出Excel时文件名乱码的方法示例:String a ...
最新文章
- 漫画 | 如何用 Kubernetes 实现 CI/CD 发布流程?
- 苹果外包爆料:你手机里的Siri,听到了嘿嘿嘿的声音
- python最新版本-官方宣布不再维护Python2,并每年发布一个新版本
- android -------- NDK 入门指南
- 企业级nginx服务优化(一)
- java map是大括号_Java8如何基于flatMap处理异常函数
- php安装zendDebug
- 概率论简明教程_Chapter-02_最大似然估计
- MongoDB for MAC 下载及安装
- DVD光驱注册表修复
- 00003__爬拉勾网
- 《高绩效成果教练》课程笔记及思考
- oracle 分组first,Oracle分析函数:First_Value
- linux系统下操作nandflash指令,Linux驱动之Nand Flash原理及硬件操作
- 89元尝鲜智能家居 天猫精灵方糖智联3件套简评
- IDEA牛逼!900行又臭又长的类重构,几分钟搞定
- python爬iptv直播源脚本_GitHub - Good0007/iptv-m3u-maker: IPTV 国内+国外 电视台直播源m3u文件, 收集汇总本地源脚本...
- java所定义的版本中不包括_java试题模拟出题
- On the Grasshopper and the Cricket --John Keats 蝈蝈与蟋蟀 济慈
- 机械革命 Code Go 评测
热门文章
- C - N^3问题 SDUT
- More Effective C++之 Item M17:考虑使用lazy evaluation(懒惰计算法)
- oracle 自学笔记
- socket多客户端连接服务器
- 通用游戏地图解决方案设计解析
- python反弹shell_反弹Shell小结
- 9.3 挂钩API技术(HOOK API)
- 【DB宝4】只需2步即可拥有Oracle19c的ASM+DB环境
- Win10 Windows Hello 指纹识别找不到支持设备解决方案
- C语言编程>第二十五周 ③ 下列给定程序中,函数fun的功能是:根据输入的三个边长(整型值),判断能否构成三角形;构成的是等边三角形,还是等腰三角形。若能构成等边三角形函数返回3,若能构成……