BufferedReader (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드

## java.io
클래스 BufferedReader

    java.lang.Object
      java.io.Reader
          java.io.BufferedReader

모든 구현된 인터페이스:
  Closeable , Readable

직계의 기존의 서브 클래스:
  LineNumberReader

    public class BufferedReader

extends Reader

문자, 배열, 행을 버퍼링 하는 것에 의해, 문자형 입력 스트림로부터 텍스트를 효율 좋게 읽어들입니다.

버퍼의 사이즈는, 디폴트 값대로 하는 일도, 특정의 값을 지정할 수도 있습니다. 디폴트 값는, 일반적으로의 사용법으로는 충분한 크기입니다.

일반적으로, Reader 에 대해서 읽어들여 요구가 나오면(자), 거기에 대응하는 기본이 되는 문자형 스트림 또는 바이트 스트림에의 읽어들여 요구가 발행됩니다. 이 때문에, FileReader 나 InputStreamReader 와 같이 read() 오퍼레이션의 효율의 좋지 않는 Reader 에서는, 그 주위를 BufferedReader 로 랩 하는 것을 추천합니다. 예를 들어, 다음의 예는 지정된 파일로부터의 입력을 버퍼 합니다.

    BufferedReader in
    = new BufferedReader(new FileReader("foo.in"));

버퍼링 하지 않고 read(), readLine()를 사용하면(자), 호출할 것에 파일로부터 바이트를 읽어들여, 문자형으로 변환해, 그때마다 복귀하므로, 매우 효율이 나빠집니다.

텍스트 입력에 대해서 DataInputStream 를 사용하는 프로그램은, 각 DataInputStream 를 적절한 BufferedReader 로 바꾸어 넣는 것에 의해 로컬라이즈 할 수가 있습니다.

도입된 버젼:
  JDK1. 1
관련 항목:
  `FileReader` , `InputStreamReader`

필드의 개요

클래스 java.io. Reader 로부터 상속된 필드
`lock`

생성자 의 개요
`BufferedReader (Reader in)` 디폴트 사이즈의 버퍼로 버퍼링 된, 문자형 입력 스트림을 작성합니다.
`BufferedReader (Reader in, int sz)` 지정된 사이즈의 버퍼로 버퍼링 된, 문자형 입력 스트림을 작성합니다.

메소드의 개요
`void` | `close ()` 스트림을 닫아, 거기에 관련하는 모든 system resource를 해제합니다.
`void` | `mark (int readAheadLimit)` 스트림의 현재 위치에 마크를 설정합니다.
`boolean` | `markSupported ()` 이 스트림이, 실행하는 mark() 조작을 지원할지 어떨지를 통지합니다.
`int` | `read ()` 단일의 문자를 읽어들입니다.
`int` | `read (char[] cbuf, int off, int len)` 배열의 일부에 문자를 읽어들입니다.
`String` | `readLine ()` 텍스트행을 읽어들입니다.
`boolean` | `ready ()` 스트림이 읽어들여 가능한가 어떤가를 돌려줍니다.
`void` | `reset ()` 스트림을, 가장 새로운 마크 위치에 리셋 합니다.
`long` | `skip (long n)` 문자를 스킵 합니다.

클래스 java.io. Reader 로부터 상속된 메소드
`read , read`

클래스 java.lang. Object 로부터 상속된 메소드
`clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait`

생성자 의 상세

### BufferedReader

    public BufferedReader(Reader  in,
                          int sz)

  지정된 사이즈의 버퍼로 버퍼링 된, 문자형 입력 스트림을 작성합니다.

  파라미터:
    `in` - Reader
    `sz` - 입력 버퍼의 사이즈
  예외:
    `IllegalArgumentException` - sz 가 0 이하의 경우

### BufferedReader

    public BufferedReader(Reader  in)

  디폴트 사이즈의 버퍼로 버퍼링 된, 문자형 입력 스트림을 작성합니다.

  파라미터:
    `in` - Reader

메소드의 상세

### read

    public int read()
             throws IOException

  단일의 문자를 읽어들입니다.

  오버라이드(override):
    클래스 `Reader` 내의 `read`
  반환값:
    0 ~ 65535 (`0x00 ~ 0xffff`)의 범위의 정수로서의, 읽힌 문자. 스트림의 마지막에 이르렀을 경우는 -1
  예외:
    `IOException` - 입출력 에러가 발생했을 경우

### read

    public int read(char[] cbuf,
                    int off,
                    int len)
             throws IOException

  배열의 일부에 문자를 읽어들입니다.

  이 메소드는,``Reader`` 클래스의 대응하는 ``read`` 메소드의 범용 규약을 구현합니다. 보다 편리하게, 이 메소드는 기본이 되는 스트림의 `read` 메소드를 반복해 호출해, 가능한 한 많은 문자수를 읽어들이려고 합니다. 이 `read` 의 반복은, 이하의 조건의 1 개가 true 가 될 때까지 행해집니다.

  - 지정된 문자수가 읽혔다
  - 기본이 되는 스트림의 `read` 메소드가, 파일의 마지막을 나타내는 `-1` 을 돌려주었다
  - 기본이 되는 스트림의 `ready` 메소드가, 그 이상의 입력 요구가 블록 되는 것을 나타내는 `false` 를 돌려주었다
  기본이 되는 스트림의 최초의 `read` 가 파일의 마지막을 나타내는 `-1` 을 돌려주면(자), 이 메소드는 `-1` 을 돌려줍니다. 그렇지 않은 경우, 이 메소드는 실제로 읽힌 문자수를 돌려줍니다.

  이 클래스의 서브 클래스는, 같은 방법으로 가능한 한 많은 문자수를 읽어들이는 것이 추천 됩니다. 다만, 이것은 필수가 아닙니다.

  일반적으로 이 메소드는, 이 스트림의 문자 버퍼로부터 문자를 취득해, 필요에 따라서 기본이 되는 스트림로부터 그 버퍼를 묻습니다. 그러나, 버퍼가 빈 상태(empty)에서, 마크가 무효로, 요구된 길이가 버퍼와 같은 크기 이상의 경우, 이 메소드는 기본이 되는 스트림로부터, 지정된 배열에 직접 문자를 읽어들입니다. 이 때문에, 여분의 `BufferedReader` 가, 데이터를 불필요하게 카피하는 일이 없습니다.

  정의:
    클래스 `Reader` 내의 `read`
  파라미터:
    `cbuf` - 전송처 버퍼
    `off` - 문자의 포함 개시 오프셋(offset)
    `len` - 읽어들이는 문자의 최대수
  반환값:
    읽힌 문자수. 스트림의 마지막에 이르렀을 경우는 -1
  예외:
    `IOException` - 입출력 에러가 발생했을 경우

### readLine

    public String  readLine()
                    throws IOException

  텍스트행을 읽어들입니다. 1 행의 끝은, 개행 ('\n')인가, 복귀 ('\r'), 또는 복행으로 거기에 계속되는 개행의 어느쪽이든으로 인식됩니다.

  반환값:
    행의 내용을 포함한 캐릭터 라인, 다만 행의 끝 문자는 포함하지 않는다. 스트림의 마지막에 이르고 있는 경우는 null
  예외:
    `IOException` - 입출력 에러가 발생했을 경우

### skip

    public long skip(long n)
              throws IOException

  문자를 스킵 합니다.

  오버라이드(override):
    클래스 `Reader` 내의 `skip`
  파라미터:
    `n` - 스킵 하는 문자수
  반환값:
    실제로 스킵 한 문자수
  예외:
    `IllegalArgumentException` - `n` 가 0 보다 작은 값의 경우
    `IOException` - 입출력 에러가 발생했을 경우

### ready

    public boolean ready()
                  throws IOException

  스트림이 읽어들여 가능한가 어떤가를 돌려줍니다. 버퍼링 된 문자형 스트림은, 공백이 아닌지, 또는 기본이 되는 문자형 스트림이 읽어들여 가능하다라고 나무에 읽어들여 가능합니다.

  오버라이드(override):
    클래스 `Reader` 내의 `ready`
  반환값:
    다음의 read()가 입력을 블록 하지 않는 것이 확실한 경우는 true, 그렇지 않은 경우는 false. false 가 돌려주어져도, 다음의 read가 확실히 블록 한다는 것이 아니다
  예외:
    `IOException` - 입출력 에러가 발생했을 경우

### markSupported

    public boolean markSupported()

  이 스트림이, 실행하는 mark() 조작을 지원할지 어떨지를 통지합니다.

  오버라이드(override):
    클래스 `Reader` 내의 `markSupported`
  반환값:
    이 스트림이 mark 오퍼레이션을 지원하는 경우에 한정해 true

### mark

    public void mark(int readAheadLimit)
              throws IOException

  스트림의 현재 위치에 마크를 설정합니다. 이후 reset()를 호출하면(자), 스트림의 위치가 이 정도치로 변경됩니다.

  오버라이드(override):
    클래스 `Reader` 내의 `mark`
  파라미터:
    `readAheadLimit` - 마크를 보관 유지하면서 읽어들일 수가 있는 문자수의 상한. 이 상한치의 전후의 수의 문자를 읽어들인 후에 스트림을 리셋 하려고 하면(자) 실패하는 경우가 있다. 입력 버퍼의 사이즈보다 큰 한계치를 지정하면(자), 그 사이즈가 한계보다 작지 않은 새로운 버퍼를 할당할 수 있다. 그 때문에, 큰 값은 주의해 사용할 필요가 있다
  예외:
    `IllegalArgumentException` - readAheadLimit 가 0 보다 작은 값의 경우
    `IOException` - 입출력 에러가 발생했을 경우

### reset

    public void reset()
               throws IOException

  스트림을, 가장 새로운 마크 위치에 리셋 합니다.

  오버라이드(override):
    클래스 `Reader` 내의 `reset`
  예외:
    `IOException` - 스트림에 마크를 설정할 수 없었던 경우, 또는 마크가 무효가 되었을 경우

### close

    public void close()
               throws IOException

  클래스 `Reader` 의 기술:
  스트림을 닫아, 거기에 관련하는 모든 system resource를 해제합니다. 스트림이 닫혀진 뒤에 read(), ready(), mark(), reset(), 또는 skip()를 호출하면(자), IOException 가 throw 됩니다. 벌써 닫혀지고 있는 스트림을 닫아도, 무슨 영향도 없습니다.

  정의:
    인터페이스 `Closeable` 내의 `close`
  정의:
    클래스 `Reader` 내의 `close`
  예외:
    `IOException` - 입출력 에러가 발생했을 경우

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.