LineNumberReader — 줄 번호를 추적하는 버퍼 문자 입력 스트림

LineNumberReader — 줄 번호를 추적하는 버퍼 문자 입력 스트림

LineNumberReader는 줄 번호를 추적하는 버퍼링된 문자 입력 스트림이에요. 이 클래스는 현재 줄 번호를 설정하고 얻기 위한 setLineNumber(int)getLineNumber() 메서드를 정의합니다. 기본적으로 줄 번호는 0에서 시작하며, 데이터가 읽힐 때 줄 종결자마다 증가하고, 스트림의 마지막 문자가 줄 종결자가 아니면 스트림 끝에서도 증가해요.

출처: Java API Reference

본문

이 클래스는 java.io.Readerjava.io.BufferedReader를 상속하며 Closeable, AutoCloseable, Readable을 구현합니다.

setLineNumber(int)는 실제로 스트림의 현재 위치를 바꾸지 않고, getLineNumber()가 반환할 값만 바꾼다는 점에 주의하세요. 줄은 개행('\n'), 캐리지 리턴('\r'), 캐리지 리턴 바로 뒤 개행, 또는 이전 종결자 뒤의 종결자들, 스트림 끝, 또는 다른 종결자가 앞에 오지 않는 스트림 끝 중 하나로 종료되는 것으로 간주돼요.

생성자

  • LineNumberReader(Reader in) — 기본 크기의 버퍼를 사용하는 줄 번호 reader를 만들어요.
  • LineNumberReader(Reader in, int sz) — 주어진 크기의 버퍼를 사용하는 줄 번호 reader를 만들어요.

메서드

  • int getLineNumber() — 현재 줄 번호를 얻어요.
  • void setLineNumber(int lineNumber) — 현재 줄 번호를 설정해요.
  • int read() — 단일 문자를 읽어요. 줄 종결자가 읽히거나 스트림 끝에 도달하고 마지막 문자가 줄 종결자가 아니면 줄 번호가 증가해요.
  • int read(char[] cbuf, int off, int len) — 문자를 배열의 일부로 읽어요.
  • String readLine() — 텍스트 한 줄을 읽어요. 줄 종결자는 제외한 내용이 반환돼요.
  • void mark(int readAheadLimit) — 스트림의 현재 위치를 표시해요.
  • void reset() — 스트림을 가장 최근의 마크로 재설정해요.
  • close, lines, markSupported, readyBufferedReader에서 상속받아요.

LineNumberReader는 로그 파일을 읽으며 줄 번호를 추적하거나 오류 메시지에 줄 위치를 표시해야 할 때 유용해요.

더 알아보기 (Learn more)