非常に大きなzipアーカイブから1つのファイル(私の名前は分かっています)を取得しようとしています。このアーカイブには約100000個のファイルが含まれています。なぜなら、私のファイルをループで見つけたくないからです。私はこのケースのための解決策でなければならないと思います。Linux上のコマンドのようなものです。私は、コード複数のファイルを含む.zipファイルから1つのファイルをアンドロイドで解凍する
try {
FileInputStream fin = new FileInputStream(rootDir+"/archive.zip");
ZipInputStream zin = new ZipInputStream(fin);
ZipEntry ze = new ZipEntry("myfile.txt");
FileOutputStream fout = new FileOutputStream(rootDir+"/buff/" + ze.getName());
for (int c = zin.read(); c != -1; c = zin.read()) {
fout.write(c);
}
zin.closeEntry();
fout.close();
zin.close();
} catch(Exception e) {
Log.e("Decompress", "unzip", e);
}
このコードは次のように書いた
unzip archive.zip myfile.txt
はバフディレクトリに新しいファイルを作成しますが、このファイルは空です! このトラブルを手伝ってください!
ありがとうございました!
申し訳ありませんが、解決策ではありません。 ZipFile開始読み込みホールファイルのように見えますが、それは非常に大きく、メモリ不足エラーがあります。 – lubart
アーカイブをロードせずに大きなアーカイブから圧縮ファイルを抽出できるようにしたいですか?デバイス上またはインターネット上のアーカイブはどこかにありますか?私はこれが不可能な仕事のように聞こえ始めているのではないかと心配しますが、もう少し情報を提供してください。 –
あなたの答えをありがとう。このファイルはsdcardにあります。はい、私はすべてのzipファイルの読み込みなしでアーカイブから1つのファイルを抽出したいと思います。私はそれがunzipコマンドでLinux上で可能であることを知っていて、それがAndroidでも可能であるという希望を持っています... – lubart