HomeBlogGuestbookLab 

JDM's Blog

온갖 테스트 결과가 기록되는 이곳은 JDM's Blog입니다. :3

[Java] Reading File using Stream

Java8에서 추가된 람다Lambda를 이용해서 파일을 읽어봅시다. 아래는 간단한 예제 코드입니다. CSV 파일을 파싱할 때 쓸만할 것 같은 코드로 구성했습니다. :D

// 파일명으로 BufferedReader를 만듭니다.
String file = "test.csv";
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"utf-8"));
br.lines()
// 예를 들어 (,)를 하나 이상 가진 라인들만 필터를 통과시킵니다.
.filter(e -> {
    if (e != null && e.split(",").length >= 1) {
        return true;
    }
    return false;
})
// 필터를 통과한 라인들을 순회하며 출력하고 (,)를 기준으로 해서 리스트 객체로 만듭니다.
.forEach(e -> {
    System.out.println(e);
    List<String> token = Arrays.asList(e.split(","));
    // do something code
});