- 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 件のコメント:
コメントを投稿