SSブログ

readAllLinesで楽々ファイル読み込み [Java]

客先作業が続いていたため、ほとんどJavaEEに触れずにきたのですが、昨日開催されたJava Day Tokyoでいろいろ刺激を受けてきました。

 

今更感は多々ありますが、自分の備忘録ということでNIOについて触れていきます。

 

NIOを知るまではCSVファイルからの 読み込みは、以下のような実装をしていました。

String line;
try (InputStream is = new FileInputStream("data.csv");
    BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8"));) {

    while ((line = in.readLine()) != null) {
        String[] s = line.split(",");
        // データをばらした後の処理

    }
} catch (IOException e) {
    // 例外処理
}

 

これに対して、nioのreadAllLinesを用いるとこんな感じになります。

try {
    List<String> lines = Files.readAllLines(Paths.get("data.csv"), Charset.forName("UTF-8"));
    for(String line: lines){
        String[] s = line.split(",");
        // データをばらした後の処理

    }
} catch (IOException ex) {
    // 例外処理
}
 

Readerだらけでいらっとしていたソースがとてもすっきり。

これから他のメソッドも試していきます。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。