더북(TheBook)

<Note>

자바 8 릴리스는 스트림을 돌려주는 다수의 메서드를 추가했다. 예를 들면, Pattern 클래스는 이제 정규 표현식regular expression을 이용해 CharSequence를 분리하는 splitAsStream 메서드를 포함한다. 다음 문장을 사용해 문자열을 단어들로 분리할 수 있다.

 

Stream<String> words

= Pattern.compile("[\\P{L}]+").splitAsStream(contents);

 

정적 Files.lines 메서드는 파일에 있는 모든 행의 Stream을 리턴한다. Stream 인터페이스는 AutoCloseable을 슈퍼인터페이스로 둔다. 따라서 스트림에 close 메서드를 호출할 때 하부 파일 또한 닫힌다. 이를 확인하려면 자바 7부터 제공하는 try-with-resources 문을 사용하는 것이 가장 좋다.

 

try (Stream<String> lines = Files.lines(path)) {

lines를 이용해 원하는 작업을 수행한다.

}

 

스트림 및 이와 연계된 파일은 try 블록이 정상적으로 종료할 때 또는 예외를 통해 닫힌다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.