ムッシューの日記

2人の子供とのお出かけネタから趣味の釣りネタなど

Androidでzipファイル内のファイルを展開(解凍)せずに1行ずつ読み込む方法


Androidアプリで、zipファイルをassetsに配置して、zipファイル内のファイルをアプリから解凍せずに1行ずつ読み込む方法です。
アセットマネージャではインプットストリームの形でしかファイルを取得できなかったので、ZipInputStreamを使った方法になっています。

//アセットマネージャを使ってzipのインプットストリームを取得する
AssetManager am = context.getAssets();
ZipInputStream zis = new ZipInputStream(am.open("filename"));
ZipEntry entry;
// zip内のファイルのエントリを取得。以下は一つ目のエントリのファイルを読み込む例です
if ((entry = zis.getNextEntry()) == null) {
  zis.close();
  return null;
}
BufferedReader br = new BufferedReader(new InputStreamReader(zis, "UTF-8"));
String line;
// 1行ずつ読み込み
while ((line = br.readLine()) != null) {
  //処理を記載
}
br.close()

次へ 投稿

前へ 投稿

© 2017 ムッシューの日記

テーマの著者 Anders Norén