0

を使用してストリームを反復処理することにより、内部の各ファイルをリストおよびソートしている 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

}

前もって感謝します。

4

2 に答える 2

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

    }

多分そうですか?

于 2012-11-16T16:50:04.687 に答える
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);
}
于 2012-11-16T16:54:05.580 に答える