我有一个zip文件,我正在列出并通过使用zis.getNextEntry()
遍历流来对每个文件进行排序。
适用于从ZipEntry获取String
个对象,我需要的是将副本保存到我的应用程序中的目录。
目录部分我很好,我只需要知道如何直接保存每个位图,而不必解码它并在内存中创建一个Bitmap对象。
这是获取每个文本文件内容的代码。
if (decodeFile) { // WE ARE LOOKING AT A FILE WE CAN DECODE
while ((read = zis.read(buffer, 0, 1024)) >= 0) {
String string = new String(buffer, 0, read);
s.append(string);
}
stringArray.add(s.toString());
} else { // WE ARE LOOKING AT AN IMAGE/DIRECTORY
}
提前致谢。
答案 0 :(得分:0)
if (decodeFile) { // WE ARE LOOKING AT A FILE WE CAN DECODE
FileWriter fw = new FileWriter("path/name.ext");
while ((read = zis.read(buffer, 0, 1024)) >= 0) {
String string = new String(buffer, 0, read);
fw.write(string);
}
fw.close();
} else { // WE ARE LOOKING AT AN IMAGE/DIRECTORY
}
也许是这样?
答案 1 :(得分:0)
你应该简单地创建一个OutputStream而不是读取String的值,而不是直接将它们写入OutputStream。
它应该是这样的:
ZipFile zipFile = new ZipFile("foo.zip");
InputStream in = null;
OutputStream out = new FileOutputStream("...");
in = zipFile.getInputStream(zipFile.getEntry("yourbitmap.jpg"));
byte data[] = new byte[1024];
while ((count = in.read(data, 0, 1024)) != -1) {
out.write(data, 0, count);
}