[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 });