【发布时间】:2014-03-21 13:19:53
【问题描述】:
我正在开发一个应用程序来将 .epub 文件解压缩到 Android 中的 SDCARD 中。 我已经阅读了Can't Unzip EPub File TOPIC。 它适用于 .zip 文件,但不适用于 .epub 文件。 有人能告诉我问题出在哪里吗? 这是异常日志:
03-21 13:35:44.281: W/System.err(1255): java.io.FileNotFoundException: /mnt/sdcard/unzipped11/META-INF/container.xml: open failed: ENOENT (No such file or directory)
我正在使用此代码:
private void decom() throws IOException {
ZipFile zipFile = new ZipFile(Environment.getExternalStorageDirectory()+"/dir.zip");
String path = Environment.getExternalStorageDirectory() + "/unzipped10/";
Enumeration<?> files = zipFile.entries();
_dirChecker("");
while (files.hasMoreElements()) {
ZipEntry entry = (ZipEntry) files.nextElement();
Log.v("ZipEntry", ""+entry);
Log.v("isDirectory", ""+entry.isDirectory());
if (entry.isDirectory()) {
File file = new File(path + entry.getName());
file.mkdir();
System.out.println("Create dir " + entry.getName());
} else {
File f = new File(path + entry.getName());
FileOutputStream fos = new FileOutputStream(f);
InputStream is = zipFile.getInputStream(entry);
byte[] buffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = is.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
fos.close();
System.out.println("Create File " + entry.getName());
}
}
}
【问题讨论】:
-
在获得它尝试创建文件 META-INF/container.xml 的日志输出之前,您是否获得了它创建 META-INF 目录的日志输出?
-
不,我不知道为什么
-
它甚至没有检测到它是一个目录