JAVA解压缩ZIP包问题:
privatestaticvoidextZipFileList(Stringzipfile,StringdestDir)throwsYssException{destDi...
private static void extZipFileList(String zipfile, String destDir) throws YssException{
destDir = destDir.endsWith("\\") ? destDir : destDir + "\\";
byte b[] = new byte[512];
int length;
ZipFile zipFile;
String encoding="utf-8";
try {
zipFile = new ZipFile(new File(zipfile),"GBK");
Enumeration enumeration = zipFile.getEntries();
ZipEntry zipEntry = null;
while (enumeration.hasMoreElements()) {
zipEntry = (ZipEntry) enumeration.nextElement();
File loadFile = new File(destDir + zipEntry.getName());
if (zipEntry.isDirectory()) {
loadFile.mkdirs();
} else {
if (!loadFile.getParentFile().exists())
loadFile.getParentFile().mkdirs();
OutputStream outputStream = new FileOutputStream(loadFile);
InputStream inputStream = zipFile.getInputStream(zipEntry);
while ((length = inputStream.read(b)) > 0){
outputStream.write(b,0,length);
}
}
}
} catch (IOException e) {
throw new YssException("解压文件失败!",e);
}
}
用以上方法解压缩ZIP包,为什么一执行到inputStream.read(b)就报如下异常:
invalid block type
求高手帮忙。万分感激。
文件路径和解压目录都没有问题。
急急急。分不多了,只能给5分。望高手指点。 展开
destDir = destDir.endsWith("\\") ? destDir : destDir + "\\";
byte b[] = new byte[512];
int length;
ZipFile zipFile;
String encoding="utf-8";
try {
zipFile = new ZipFile(new File(zipfile),"GBK");
Enumeration enumeration = zipFile.getEntries();
ZipEntry zipEntry = null;
while (enumeration.hasMoreElements()) {
zipEntry = (ZipEntry) enumeration.nextElement();
File loadFile = new File(destDir + zipEntry.getName());
if (zipEntry.isDirectory()) {
loadFile.mkdirs();
} else {
if (!loadFile.getParentFile().exists())
loadFile.getParentFile().mkdirs();
OutputStream outputStream = new FileOutputStream(loadFile);
InputStream inputStream = zipFile.getInputStream(zipEntry);
while ((length = inputStream.read(b)) > 0){
outputStream.write(b,0,length);
}
}
}
} catch (IOException e) {
throw new YssException("解压文件失败!",e);
}
}
用以上方法解压缩ZIP包,为什么一执行到inputStream.read(b)就报如下异常:
invalid block type
求高手帮忙。万分感激。
文件路径和解压目录都没有问题。
急急急。分不多了,只能给5分。望高手指点。 展开
展开全部
更多追问追答
追问
我是JDK1.4的,ZIP包里的文件是.CSV格式的。
追答
如果包不超过10M发到ding_h@neusoft.com
里吧我试试,如果你的文件不是保密的话。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询