最近のjavaっぽくcsv/tsvを読み込む(java8以降)

java8以降でちょっとcsvなりtsvを読み込ませようと思ってググってみたところ、上位には割と古そうなやり方しか出てこなかったので試してみた。

まず、ファイルを一行ずつ読み込む。

Files.lines(Paths.get("./hoge.csv")).forEach(line -> {
  System.out.println(line);
});

csvやtsvなら、これをsplitするだけ。

Files.lines(Paths.get("./hoge.csv")).forEach(line -> {
  String[] vars = line.split(",");

  System.out.println(vars[0]);
  // ... 以下略
});

余談だが、java10以降なら、型推論のvar が使える。javaも随分楽になったものだ。

Files.lines(Paths.get("./hoge.csv")).forEach(line -> {
  var vars = line.split(",");

  System.out.println(vars[0]);
  // ... 以下略
});

コメント

タイトルとURLをコピーしました