Android Zip解压的问题
来源:互联网 发布:百旺金赋税控软件 编辑:程序博客网 时间:2024/05/22 13:43
先说一下我遇到的问题
1.我首先是自己写的zip解压,解压的时候遇到一个视频结果报编码解压终止了
2.也是自己写的解压的时候遇到中文了可以解压结果乱码了!
解决方案:
用第三方apache-ant解决
注意这里开始遇到中文也是乱码的!!!
要设置一个下面的一个属性下面有注释
如果还是乱码则改一个编码格式
本来试过UTF-8,GBK
项目中用GBK和设置下面的属性解决问题!
下面请看源码
public staticvoid unZipFile(String zipFileName,String decompressDir)throws IOException{
org.apache.tools.zip.ZipFile zip = new org.apache.tools.zip.ZipFile(zipFileName,"GBK");
Enumeration emt= zip.getEntries();
BufferedInputStream bi =null;
while(emt.hasMoreElements()){
org.apache.tools.zip.ZipEntry ze =(org.apache.tools.zip.ZipEntry) emt.nextElement();
String entryName =ze.getName();
String path = decompressDir+"/"+entryName;
if(ze.isDirectory()){
ze.setUnixMode(755);//解决linux乱码注意这个是设置目录
File docompressDirFile = new File(path);
if(!docompressDirFile.exists()){
docompressDirFile.mkdirs();
}
}else{
ze.setUnixMode(644);//解决linux乱码这个是设置文件
String fileDir = path.substring(0, path.lastIndexOf("/"));
File fileDirFile =new File(fileDir);
if(!fileDirFile.exists()){
fileDirFile.mkdirs();
}
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(decompressDir+"/"+entryName));
bi = new BufferedInputStream(zip.getInputStream(ze));
System.out.println("fsdfs"+decompressDir+"/"+entryName);
byte [] read =new byte[1024];
int readCount = bi.read(read);
while (readCount!=-1) {
bos.write(read,0,readCount);
readCount =bi.read(read);
}
bos.close();
}
}
zip.close();
}
- Android Zip解压的问题
- Android zip解压的代码
- android 实现zip文件的解压
- android 实现zip文件的解压
- android解压带密码的zip包
- android解压zip格式包的方法
- android解压zip格式的包
- Symbian Zip解压问题
- Android zip解压
- Android 解压zip文件
- android zip解压
- android解压ZIP文件
- Android 解压zip文件
- Android 解压zip文件
- android, 解压Zip文件
- android gzip,zip解压
- Android解压Zip包
- Android 解压zip文件
- STM32与PID算法
- zoj3686(重新编号的线段树)
- 麻省理工学院公开课:算法导论1
- 树莓派学习笔记——apt方式安装opencv
- LeetCode Solutions : Rotate List
- Android Zip解压的问题
- GitHub 优秀的 Android 开源项目(值得研究)
- 设计模式-工厂模式
- cocos2dx 2.0-3.0 过渡篇
- 字符和字符串的输入输出(经典)
- lvs安装与配置
- 这就是我
- 双色球小程序 从1~33个数中抽出不重复的6个数为红球,然后从1~16中抽出1个数是蓝球
- lvs安装与配置2