琢磨不透的java解压缩文件报错
来源:互联网 发布:奔奔数码 淘宝店 编辑:程序博客网 时间:2024/05/01 22:51
写了一个解压缩的类,代码如下:
mport java.io.*;
import java.util.zip.*;
public class UnZipAE ...{
static final int BUFFER = 2048;
ZipInputStream zis = null;
String outputDirectory = new String();
public void openZipFile(String fileName)
...{
try
...{
zis = new ZipInputStream(
new BufferedInputStream(
new FileInputStream(fileName)));
}
catch(Exception e)
...{
System.out.println(e);
}
}
public void setOutPutDirectory(String directory)
...{
outputDirectory = directory;
}
public void unzipFile()
...{
byte [] bArray = new byte [2048];
int len = 2048, ct;
ZipEntry entry;
try
...{
while((entry = zis.getNextEntry()) != null)
...{
FileOutputStream fout = new FileOutputStream(outputDirectory + "/" + entry.getName());
BufferedOutputStream bout = new BufferedOutputStream(fout, len);
while((ct = zis.read(bArray, 0, len)) != -1)
...{
bout.write(bArray, 0, ct);
}
bout.flush();
fout.close();
bout.close();
}
zis.close();
}
catch(Exception e)
...{
System.out.println(e);
}
}
}
import java.util.zip.*;
public class UnZipAE ...{
static final int BUFFER = 2048;
ZipInputStream zis = null;
String outputDirectory = new String();
public void openZipFile(String fileName)
...{
try
...{
zis = new ZipInputStream(
new BufferedInputStream(
new FileInputStream(fileName)));
}
catch(Exception e)
...{
System.out.println(e);
}
}
public void setOutPutDirectory(String directory)
...{
outputDirectory = directory;
}
public void unzipFile()
...{
byte [] bArray = new byte [2048];
int len = 2048, ct;
ZipEntry entry;
try
...{
while((entry = zis.getNextEntry()) != null)
...{
FileOutputStream fout = new FileOutputStream(outputDirectory + "/" + entry.getName());
BufferedOutputStream bout = new BufferedOutputStream(fout, len);
while((ct = zis.read(bArray, 0, len)) != -1)
...{
bout.write(bArray, 0, ct);
}
bout.flush();
fout.close();
bout.close();
}
zis.close();
}
catch(Exception e)
...{
System.out.println(e);
}
}
}
但写了一个测试程序运行起来后,问题就来了.
UnZipAE uzp = new UnZipAE();
uzp.openZipFile("D:/test.zip");
uzp.setOutPutDirectory("D:/output");
uzp.unzipFile();
uzp.openZipFile("D:/test.zip");
uzp.setOutPutDirectory("D:/output");
uzp.unzipFile();
运行起来后,居然报异常IllegalArgumentException,设置断点调试后,发现异常是在entry = zis.getNextEntry()抛出的.我晕,这种异常怎么调试.郁闷了半天后,我开始怀疑是不是压缩文件有问题,因为这个压缩文件包内全是中文命名的文件,于是,我换了一个zip压缩包.压缩包内的文件都是英文命名的源代码.测试运行,一切正常.晕!!!!难道是java不支持解压缩包含中文文件名的zip文件吗?
- 琢磨不透的java解压缩文件报错
- linux tar 解压缩zip文件报错的解决
- 琢磨不透的cbo
- 用Java实现文件的解压缩
- Java中对文件的解压缩
- Java文件的压缩与解压缩
- Linux 压缩、解压缩文件(invalid tar magic 报错)
- objective-C的内存管理机制琢磨不透
- java解压缩文件
- java 解压缩zip文件
- 解压缩文件java源码
- java 解压缩zip文件
- java解压缩zip文件
- JAVA 解压缩文件
- java解压缩zip文件
- java zip 解压缩文件
- java 压缩文件 解压缩文件
- java 解压缩文件
- 利用 Postfix 抵擋垃圾信
- ACE-网络与系统编程的实用设计模式。
- 微软Visual Studio 2008预计11月底推出
- 当当工作1年半的体验(原创)
- Eclipse 插件Eclipse SQL Explorer 3 发布
- 琢磨不透的java解压缩文件报错
- 对pe加载流程的理解
- 用Bochs学习Minix(3)-调试启动过程
- [精华] 运用加密技术保护Java源代码 (转)
- 怎么样做一个合格的职业者
- 堆和堆栈相关知识及区别
- stl学习笔记4
- Li Lei 和 Han Meimei该结婚了吧
- DirectShow中常见的RGB/YUV格式