산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java BufferedReader로 파일 읽기: 실전 가이드와 예제

Java에서 파일 읽는 방법?

Java는 파일 작업을 위한 다양한 I/O 클래스를 제공합니다. 텍스트 파일을 읽는 가장 효율적인 방법은 java.io.BufferedReader를 사용하는 것으로, 하위 레벨 Reader를 감싸고 입력을 버퍼링하여 비용이 큰 시스템 호출을 줄여줍니다.

Java에서 BufferedReader란?

BufferedReader는 파일 같은 입력 스트림에서 텍스트를 문자 단위로 버퍼링하여 읽는 클래스입니다. 이를 통해 각 문자마다 시스템 호출을 하지 않고 빠르게 줄 단위 또는 블록 단위 읽기가 가능합니다.

FileReader나 InputStreamReader의 read() 같은 메서드는 비용이 클 수 있으므로, 이들을 BufferedReader로 감싸 성능을 개선하는 것이 일반적인 관행입니다.

일반적인 사용 패턴:

BufferedReader reader = new BufferedReader(new FileReader("D:\\DukesDiary.txt"));

여기서 파일이 열리고 효율적 읽기를 위해 버퍼링됩니다.

파일 내용을 표시하려면 파일 끝에 도달할 때까지 각 줄을 순회:

String currentLine;
while ((currentLine = reader.readLine()) != null) {
    System.out.println(currentLine);
}

루프는 readLine()이 null을 반환하면 종료되며, 이는 파일 끝 도달을 의미합니다.

BufferedReader 예제 (JDK 7 이전)

아래는 리소스 처리의 모범 사례를 보여주는 완전한 프로덕션 준비 예제입니다:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileExample {
    public static void main(String[] args) {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader("D:\\DukesDiary.txt"));
            String currentLine;
            while ((currentLine = reader.readLine()) != null) {
                System.out.println(currentLine);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (reader != null) {
                    reader.close();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
}

finally 블록은 예외 발생 시에도 리더가 닫히도록 보장하여 시스템 리소스를 해제합니다.

BufferedReader 예제 (JDK 7+ Try-With-Resources)

Java 7부터 try-with-resources 문으로 정리가 간소화됩니다. 다음 예제는 같은 로직을 더 간결하게 보여줍니다:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileExampleJDK7 {
    private static final String FILENAME = "D:\\DukesDiary.txt";
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader(FILENAME))) {
            String currentLine;
            while ((currentLine = br.readLine()) != null) {
                System.out.println(currentLine);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

try-with-resources를 사용하면 BufferedReader가 자동으로 닫혀 코드가 더 깔끔하고 에러 발생 가능성이 줄어듭니다.

java

  1. Java BufferedReader 마스터하기: 효율적 캐릭터 스트림 처리
  2. java.io로 Java 파일 작업 마스터하기 – 생성, 읽기, 쓰기 및 삭제
  3. Java Hello World: 첫 Java 프로그램 작성 단계별 가이드
  4. Java String length() 메서드: 문자열 크기 구하기 (예제 포함)
  5. Java String.charAt() 완전 이해: 문법, 반환타입, 예외, 실전 예제
  6. Java String compareTo() 마스터: 문법, 활용 케이스, 실전 예제
  7. Java String.contains() 메서드: 부분문자열 포함 여부 확인 (실전 예제)
  8. Java String.endsWith() 마스터: 문자열 접미사 확인 예제
  9. 자바 삽입 정렬 알고리즘: 명확한 예제와 단계별 가이드
  10. 자바 선택 정렬: 단계별 예제와 전체 코드