【Android】 CSVファイルを読み込んでパースする
Androidで初期データなどCSVファイルを処理したい場合がある。
その時は、CSVファイルをassetsと呼ばれるフォルダに置き、それを読み込んでパースを行う。
assetsフォルダはプロジェクトの一番上に作成する。
assetsフォルダへのアクセスはAssetManagerを通じて行う。
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Map; import java.util.StringTokenizer; import android.content.Context; import android.content.res.AssetManager; public class CSVParser { public static void parse(Context context) { // AssetManagerの呼び出し AssetManager assetManager = context.getResources().getAssets(); try { // CSVファイルの読み込み InputStream is = assetManager.open("data.csv"); InputStreamReader inputStreamReader = new InputStreamReader(is); BufferedReader bufferReader = new BufferedReader(inputStreamReader); String line = ""; while ((line = bufferReader.readLine()) != null) { // 各行が","で区切られていて4つの項目があるとする StringTokenizer st = new StringTokenizer(line, ","); String first = st.nextToken(); String second = st.nextToken(); String third = st.nextToken(); String fourth = st.nextToken(); // 何らかの処理 } bufferReader.close(); } catch (IOException e) { e.printStackTrace(); } } }