Java - BufferedReader로 파일 읽기

BufferedReader를 이용하여 파일을 읽고 텍스트를 출력하는 방법을 소개합니다.

BufferedReader는 파일을 읽을 때 버퍼를 이용하여 효율적으로 읽습니다. 다른 Reader 클래스보다 파일 접근 횟수가 줄어들기 때문에 속도가 빠를 수 있습니다.

1. BufferedReader.readLine()

아래와 같이 BufferedReader를 이용하여 파일의 데이터를 읽을 수 있습니다.

BufferedReader.readLine()는 파일에서 1줄의 문자열을 리턴합니다. readLine()으로 연속적으로 데이터를 읽다가, 파일의 끝에 도달하는 경우 null을 리턴하여, null을 확인하여 while 문이 종료시킬 수 있습니다.

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class Example {
    public static void main(String[] args) {

        File file = new File("/home/js/IdeaProjects/JavaExample/src/main/java/sample.txt");

        try (BufferedReader br = new BufferedReader(new FileReader(file))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

Output:

Convert list to set in Python
How to check Type of a Variable in Flutter/Dart
Exception handling with Try-Catch, Try-On in Flutter/Dart

2. BufferedReader.lines()

BufferedReader.lines()는 파일의 모든 라인의 문자열들을 Stream<String>으로 리턴합니다.

아래 예제는 Stream.collect()로 List로 변환하며, for문을 이용하여 모든 라인을 출력합니다.

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;

public class Example {
    public static void main(String[] args) {

        File file = new File("/home/mjs/IdeaProjects/JavaExample/src/main/java/sample.txt");

        try (BufferedReader br = new BufferedReader(new FileReader(file))) {
            List<String> lines = br.lines().collect(Collectors.toList());
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Output:

Convert list to set in Python
How to check Type of a Variable in Flutter/Dart
Exception handling with Try-Catch, Try-On in Flutter/Dart
Loading script...
codechachaCopyright ©2019 codechacha