java解压文件乱码,java zipfile解压文件乱码
解决思路:
首先判断需要解压的文件是否存在或路径是否正确,接着判断路径是否存在,若不存在则创建路径,然后判断压缩文件是否合法,最后设置文件名称编码为《GBK》即可。
免费在线教学视频分享:java教学视频
示例代码:
包com。云飞。FTS;
导入Java。io。文件;
导入网。林加拉。zip4j。核心。zip文件;
导入网。林加拉。zip4j。模型。zip参数;
导入网。林加拉。zip 4j。util。zip 4 jconstants
公共类ZipUtil {
/**
* todo zip解压缩
* @param源压缩文件全路径
* @param target要解压路径
* @param targetName解压文件夹名称
*/
公共静态无效解压缩(字符串源,字符串目标,字符串目标名)引发异常{
尝试{
文件文件=新文件(源);
如果(!文件。exists() 文件。是目录()){
抛出新异常(将要解压文件不存在或路径填写不正确!);
}
文件=新文件(目标文件。分隔符目标名称);
如果(!file.exists()){
文件。mkdirs();
System.out.println(路劲不存在,创建路径);
}
ZipFile ZipFile=new ZipFile(source);
如果(!zipfile.isValidZipFile()) {
抛出新异常(压缩文件不合法,可能被损坏.);
}
zip文件。设置文件名字符集( GBK );
zipfile.extractAll(目标文件。分隔符目标名称);
} catch(异常e) {
e。printstacktrace();
扔e;
}
}
/**
* todo生成活力压缩
* @param源要压缩文件全路径
* @param target压缩文件存放路径
* @param targetName解压文件名称
*/
公共静态空拉链(字符串源,字符串目标,字符串目标名)引发异常{
尝试{
文件文件=新文件(目标);
如果(!file.exists()){
文件。mkdirs();
System.out.println(解压存储路劲不存在,创建路径);
}
文件=新文件(源);
如果(!file.exists()){
抛出新异常(将要解压文件不存在或路径填写不正确!);
}
ZipFile ZipFile=新的zip文件(目标文件。分隔符目标名称);
zip文件。设置文件名字符集( GBK );
zip参数params=new zip参数();
参数。setcompression方法(zip 4 jconstants .COMP _ DEFLATE);//压缩方式
参数。setcompressionlevel(zip 4 jconstants .放气_级别_法线);//压缩级别
//zipfile.cr
if(file.isFile()){
zipfile.addFile(file,params);
}否则{
zipfile.addFolder(source,params);
}
} catch(异常e) {
e。printstacktrace();
扔e;
}
}
公共静态void main(String[] args) {
尝试{
unzip(d:\\home.zip , e:\\ , test );
zip(D:\\home , e:\\ , test。zip’);
} catch(异常e) {
//TODO自动生成的捕捉块
e。printstacktrace();
}
}
}推荐爪哇岛相关文章教程:java开发入门以上就是爪哇岛解压活力包出现乱码的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。