- ZipInputStream を作る
- ZipInputStream.getNextEntry でエントリー(ファイル)を取得する
- ZipInputStream.read で中身を読み込む
- 読み込んだ中身を FileOutputStream に書き込む
- 2,3,4 の繰り返し
- ZipInputStream.close
Android で外部ストレージ(SDカード)にエクスポートしたデータをアプリのディレクトリに戻すために使用したコードの一部。
try {
// infilePath で zip ファイルが指定されているとする
ZipInputStream zipInputStream =
new ZipInputStream(new FileInputStream(infilePath));
ZipEntry zipEntry;
int len;
byte[] buffer = new byte[1024];
while((zipEntry = zipInputStream.getNextEntry()) != null){
// outFolder で出力先のディレクトリが指定されているとする
FileOutputStream fileOutputStream = new FileOutputStream(outFolder + "/" + zipEntry.getName());
while ((len = zipInputStream.read(buffer)) > 0) {
fileOutputStream.write(buffer, 0, len);
}
fileOutputStream.close();
}
zipInputStream.close();
} catch (Exception e) {
// エラー処理
}
0 件のコメント:
コメントを投稿