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

Java BufferedReader 마스터하기: 효율적 캐릭터 스트림 처리

Java BufferedReader 클래스

BufferedReader 클래스가 실전 예제와 심층 메서드 설명으로 Java에서 I/O 성능을 향상시키는 방법을 알아봅니다.

java.io 패키지의 BufferedReader 클래스는 다른 Reader를 래핑하여 효율적인 문자 입력을 제공합니다. 데이터 청크를 내부 버퍼에 읽어들임으로써 비용이 많이 드는 디스크 I/O 연산을 최소화합니다.

BufferedReader 작동 원리

내부적으로 BufferedReader는 8,192자(기본 크기)의 버퍼를 유지합니다. 읽기 연산 중 소스 파일에서 문자 블록을 가져와 이 버퍼에 저장합니다. 이후 읽기는 버퍼에서 문자를 하나씩 가져오므로 디스크 접근 횟수가 크게 줄어들고 I/O가 빨라집니다.

BufferedReader 생성하기

BufferedReader를 사용하려면 java.io에서 임포트하고 FileReader 같은 다른 Reader 구현체를 래핑합니다:

import java.io.FileReader;
import java.io.BufferedReader;

FileReader file = new FileReader("example.txt");
BufferedReader reader = new BufferedReader(file);

커스텀 버퍼 크기도 지정할 수 있습니다:

BufferedReader reader = new BufferedReader(file, 16384); // 16KB 버퍼

BufferedReader의 핵심 메서드

read()

예제: input.txt의 전체 콘텐츠를 문자 배열로 읽기:

import java.io.FileReader;
import java.io.BufferedReader;

class Main {
    public static void main(String[] args) {
        char[] buffer = new char[100];
        try (FileReader file = new FileReader("input.txt");
             BufferedReader reader = new BufferedReader(file)) {
            reader.read(buffer);
            System.out.println("Data in the file:\n" + new String(buffer));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

실행 결과

Data in the file:
This is a line of text inside the file.

skip()

skip(long n) 메서드는 스트림에서 다음 n 문자를 버립니다:

reader.skip(5); // "This " 건너뛰기

건너뛴 후 남은 콘텐츠를 읽으면:

Data after skipping 5 characters: is a line of text inside the file.

close()

시스템 리소스를 해제하려면 항상 리더를 닫으세요:

reader.close();

기타 유용한 메서드

메서드설명
ready()블로킹 없이 읽을 준비가 되었는지 확인합니다.
mark(int readAheadLimit)스트림의 현재 위치를 표시합니다.
reset()스트림을 가장 최근 표시 위치로 재설정합니다.

완전한 레퍼런스는 공식 Java 문서를 참조하세요.

java

  1. Java final 키워드 마스터: 변수, 메서드, 클래스에서의 활용
  2. Java instanceof 연산자 완벽 가이드: 기본 사용법부터 상속, 인터페이스까지
  3. Java 정적 중첩 클래스 이해: 용법, 내부 클래스와의 차이, 예제
  4. Java 익명 내부 클래스 마스터: 정의, 문법, 실전 예제
  5. Java 싱글톤 패턴 완벽 가이드: 안전하게 구현하고 사용하기
  6. Java 리플렉션 마스터: 런타임에 클래스, 메서드, 필드 검사 및 조작
  7. Java ObjectOutputStream 마스터하기: 직렬화, 메서드, 실전 예제
  8. Java 제네릭 마스터하기: 재사용 가능하고 타입 안전한 코드 작성
  9. java.io로 Java 파일 작업 마스터하기 – 생성, 읽기, 쓰기 및 삭제
  10. Java BufferedReader로 파일 읽기: 실전 가이드와 예제