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だらけでいらっとしていたソースがとてもすっきり。
これから他のメソッドも試していきます。
コメント 0