- Android
- 2012-12-19
この記事は最終更新日から1年以上経過しています。
Androidで、Zip形式の圧縮ファイルを解凍します。
インポート
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.BufferedOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream;
必要な変数の宣言
ZipInputStream in = null; String zipPath = null; ZipEntry zipEntry; int data; String file_name;
解凍します
try { zipPath = Environment.getExternalStorageDirectory() + "/Sample/Example.zip"; in = new ZipInputStream(new BufferedInputStream( new FileInputStream(zipPath))); } catch (FileNotFoundException e) { e.printStackTrace(); // "Zipファイルが見つかりませんでした。"; } catch (Exception e) { e.printStackTrace(); // "Zipファイル取得時にエラーが発生しました。"; } try { //Zip形式圧縮データ解凍 while((zipEntry = in.getNextEntry()) != null) { //(int)zipEntry.getSize(); //取り出したファイルの容量 // ファイルの名前を取得 if(zipEntry.getName().matches(".*/.*")) { String[] fname = zipEntry.getName().split("/"); file_name = fname[1]; } else { file_name = zipEntry.getName(); } // 解凍したファイルをアプリのファイル領域に書き込む BufferedOutputStream out = new BufferedOutputStream(openFileOutput(file_name, MODE_PRIVATE)); while((data = in.read()) != -1) { out.write(data); } out.close(); } } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { try { in.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } try { in.close(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); }
6,693 views