문자, 배열 및 줄을 효율적으로 읽을 수 있도록 문자를 버퍼링하여 문자 입력 스트림에서 텍스트를 읽습니다. 버퍼 크기를 지정하거나 기본 크기를 사용할 수 있습니다. 기본값은 대부분의 목적에 충분히 큽니다. 일반적으로 판독기의 각 읽기 요청으로 인해 해당 읽기 요청이 기본 문자 또는 바이트 스트림으로 만들어집니다. 따라서 FileReaders 및 InputStreamReaders와 같이 읽기() 작업에 비용이 많이 드는 모든 Reader 주위에 BufferedReader를 래핑하는 것이 좋습니다. 텍스트 입력에 DataInputStreams를 사용하는 프로그램은 각 항목을 대체하여 현지화할 수 있습니다. 데이터입력스트림 적절한 버퍼링된 리더 .
BufferedReader 클래스의 생성자
| 건설자 | 수행된 작업 |
|---|---|
| BufferedReader(리더 입력) | 기본 크기의 입력 버퍼를 사용하는 버퍼링 문자 입력 스트림을 생성합니다. |
| BufferedReader(리더 입력, int sz) | 지정된 크기의 입력 버퍼를 사용하는 버퍼링 문자 입력 스트림을 만듭니다. |
BufferedReader 클래스의 메서드
| 메소드 이름 | 행동 |
|---|---|
| 닫다() | 스트림을 닫고 이와 관련된 모든 시스템 리소스를 해제합니다. 스트림이 닫히면 추가 read(), Ready(), mark(), Reset() 또는 Skip() 호출에서 IOException이 발생합니다. 이전에 닫힌 스트림을 닫아도 아무런 효과가 없습니다. |
| 표시() | 스트림의 현재 위치를 표시합니다. 이후의 재설정() 호출은 스트림을 이 지점으로 재배치하려고 시도합니다. |
| 마크지원() | 이 스트림이 mark() 작업을 지원하는지 여부를 알려줍니다. |
| 읽다() | 단일 문자를 읽습니다. |
| 읽기(char[] cbuf, int off, int len) | 문자를 배열의 일부로 읽어옵니다. 이 메서드는 Reader 클래스의 해당 읽기 메서드에 대한 일반 계약을 구현합니다. 추가적인 편의를 위해 기본 스트림의 읽기 메서드를 반복적으로 호출하여 가능한 한 많은 문자를 읽으려고 시도합니다. |
| 읽기라인() | 텍스트 한 줄을 읽습니다. 줄은 줄 바꿈(' '), 캐리지 리턴(' ') 또는 줄 바꿈 바로 뒤에 오는 캐리지 리턴 중 하나로 종료되는 것으로 간주됩니다. |
| 준비가 된() | 이 스트림을 읽을 준비가 되었는지 여부를 알려줍니다. |
| 초기화() | 스트림을 가장 최근 표시로 재설정합니다. |
| 건너뛰기(긴) | 문자를 건너뜁니다. |
구현: 파일 안의 내용은 다음과 같습니다.
This is first line this is second line>
예
이진 트리 유형
자바
인터넷 브라우저 설정
// Java Program to Illustrate BufferedReader Class> // Via Its Methods> > // Importing required classes> import> java.io.BufferedReader;> import> java.io.FileReader;> import> java.io.IOException;> > // Class> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >throws> IOException> >{> > >// Creating object of FileReader and BufferedReader> >// class> >FileReader fr =>new> FileReader(>'file.txt'>);> >BufferedReader br =>new> BufferedReader(fr);> > >char> c[] =>new> char>[>20>];> > >// Illustrating markSupported() method> >if> (br.markSupported()) {> > >// Print statement> >System.out.println(> >'mark() method is supported'>);> > >// Illustrating mark method> >br.mark(>100>);> >}> > >// File Contents is as follows:> >// This is first line> >// this is second line> > >// Skipping 8 characters> >br.skip(>8>);> > >// Illustrating ready() method> >if> (br.ready()) {> > >// Illustrating readLine() method> >System.out.println(br.readLine());> > >// Illustrating read(char c[],int off,int len)> >br.read(c);> > >for> (>int> i =>0>; i <>20>; i++) {> >System.out.print(c[i]);> >}> > >System.out.println();> > >// Illustrating reset() method> >br.reset();> >for> (>int> i =>0>; i <>8>; i++) {> > >// Illustrating read() method> >System.out.print((>char>)br.read());> >}> >}> >}> }> |
자바 지도
>
xd 의미
>
산출:
mark() method is supported first line this is second line This is>