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

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

JavaTM Platform
Standard Ed. 6

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

## java.io
클래스 FileInputStream

    java.lang.Object
      java.io.InputStream
          java.io.FileInputStream

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

    public class FileInputStream

extends InputStream

`FileInputStream` 는, 파일 시스템으로부터 입력 바이트를 가져옵니다. 어느 파일이 유효한가는 호스트 환경에 의존합니다.

`FileInputStream` 는, 이미지 데이터등의 생의 바이트의 스트림을 읽어들일 때 사용합니다. 문자의 스트림을 읽어들일 때는,`FileReader` 를 사용해 주세요.

도입된 버젼:
  JDK1. 0
관련 항목:
  `File` , `FileDescriptor` , `FileOutputStream`

생성자 의 개요
`FileInputStream (File file)` 파일 시스템으로 `File` 객체 `file` 에 의해 지정하는 실제의 파일에의 접속을 여는 것으로,`FileInputStream` 를 작성합니다.
`FileInputStream (FileDescriptor fdObj)` 파일 시스템의 실제의 파일에의 기존의 접속을 나타내는 파일 기술자 `fdObj` 를 사용해,`FileInputStream` 를 작성합니다.
`FileInputStream (String name)` 파일 시스템으로 경로명 `name` 에 의해 지정하는 실제의 파일에의 접속을 여는 것으로,`FileInputStream` 를 작성합니다.

메소드의 개요
`int` | `available ()` 이 입력 스트림의 메소드의 다음의 호출에 의해, 블록 하지 않고 이 입력 스트림로부터 읽어들일 수가 있는 (또는 스킵 할 수 있다) 추정 바이트수를 돌려줍니다.
`void` | `close ()` 파일 입력 스트림을 닫아 이 스트림에 관련하는 system resource를 해제합니다.
`protected void` | `finalize ()` 파일 입력 스트림에의 참조가 존재하지 않게 되었을 때에, 이 스트림의 `close` 메소드가 확실히 불려 가도록(듯이) 합니다.
`FileChannel` | `getChannel ()` 이 파일 입력 스트림에 관련지을 수 있던, 일의 `FileChannel` 객체를 돌려줍니다.
`FileDescriptor` | `getFD ()` 이 `FileInputStream` 에 사용되고 있는 파일 시스템의 실제의 파일에의 접속을 나타내는 `FileDescriptor` 객체를 돌려줍니다.
`int` | `read ()` 이 입력 스트림로부터 데이터의 바이트를 읽어들입니다.
`int` | `read (byte[] b)` 최대 `b.length` 바이트까지의 데이터를, 이 입력 스트림로부터 바이트 배열에 읽어들입니다.
`int` | `read (byte[] b, int off, int len)` 최대 `len` 바이트까지의 데이터를, 이 입력 스트림로부터 바이트 배열에 읽어들입니다.
`long` | `skip (long n)` 입력 스트림로부터 `n` 바이트분을 스킵 및 파기합니다.

클래스 java.io. InputStream 로부터 상속된 메소드
`mark , markSupported , reset`

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

생성자 의 상세

### FileInputStream

    public FileInputStream(String  name)
                    throws FileNotFoundException

  파일 시스템으로 경로명 `name` 에 의해 지정하는 실제의 파일에의 접속을 여는 것으로,`FileInputStream` 를 작성합니다. 이 파일 접속을 나타내기 위해서(때문에), 새로운 `FileDescriptor` 객체가 생성됩니다.

  우선, 시큐리티 매니저가 존재하는 경우,`checkRead` 메소드가 `name` 인수를 인수로서 불려 갑니다.

  지정된 파일이 존재하지 않는지, 보통 파일은 아니고 디렉토리인지, 또는 하등의 이유로써 열릴 수가 없는 경우는,`FileNotFoundException` 가 throw 됩니다.

  파라미터:
    `name` - 시스템 의존의 파일명
  예외:
    `FileNotFoundException` - 파일이 존재하지 않는 경우, 일반적으로의 파일이 아니라 디렉토리인 경우, 또는 하등의 이유로써 열릴 수가 없는 경우
    `SecurityException` - 시큐리티 매니저가 존재해,`checkRead` 메소드가 파일에의 읽어들여 액세스를 거부하는 경우
  관련 항목:
    `SecurityManager.checkRead(java.lang.String)`

### FileInputStream

    public FileInputStream(File  file)
                    throws FileNotFoundException

  파일 시스템으로 `File` 객체 `file` 에 의해 지정하는 실제의 파일에의 접속을 여는 것으로,`FileInputStream` 를 작성합니다. 이 파일 접속을 나타내기 위해서(때문에), 새로운 `FileDescriptor` 객체가 생성됩니다.

  우선, 시큐리티 매니저가 존재하는 경우,`checkRead` 메소드가,`file` 인수에 의해 나타내지는 패스를 인수로서 불려 갑니다.

  지정된 파일이 존재하지 않는지, 보통 파일은 아니고 디렉토리인지, 또는 하등의 이유로써 열릴 수가 없는 경우는,`FileNotFoundException` 가 throw 됩니다.

  파라미터:
    `file` - 읽을 위해(때문에) 열리는 파일
  예외:
    `FileNotFoundException` - 파일이 존재하지 않는 경우, 일반적으로의 파일이 아니라 디렉토리인 경우, 또는 하등의 이유로써 열릴 수가 없는 경우
    `SecurityException` - 시큐리티 매니저가 존재해,`checkRead` 메소드가 파일에의 읽어들여 액세스를 거부하는 경우
  관련 항목:
    `File.getPath()` , `SecurityManager.checkRead(java.lang.String)`

### FileInputStream

    public FileInputStream(FileDescriptor  fdObj)

  파일 시스템의 실제의 파일에의 기존의 접속을 나타내는 파일 기술자 `fdObj` 를 사용해,`FileInputStream` 를 작성합니다.

  시큐리티 매니저가 존재하는 경우는, 파일 기술자를 읽어들여도 괜찮은지 어떤지를 확인하기 위해서, 파일 기술자 `fdObj` 를 인수로서 `checkRead` 메소드가 불려 갑니다. 파일 기술자에게로의 읽어들여 액세스가 거부되면(자),`SecurityException` 가 throw 됩니다.

  `fdObj` 가 null 의 경우는,`NullPointerException` 가 throw 됩니다.

  파라미터:
    `fdObj` - 읽을 위해(때문에) 열리는 파일 기술자
  예외:
    `SecurityException` - 시큐리티 매니저가 존재해,`checkRead` 메소드가 파일 기술자에게로의 읽어들여 액세스를 거부하는 경우
  관련 항목:
    `SecurityManager.checkRead(java.io.FileDescriptor)`

메소드의 상세

### read

    public int read()
             throws IOException

  이 입력 스트림로부터 데이터의 바이트를 읽어들입니다. 입력이 아직 이용할 수 없는 경우, 이 메소드는 블록 됩니다.

  정의:
    클래스 `InputStream` 내의 `read`
  반환값:
    데이터의 다음의 바이트. 파일의 마지막에 이르렀을 경우는 `-1`
  예외:
    `IOException` - 입출력 에러가 발생했을 경우

### read

    public int read(byte[] b)
             throws IOException

  최대 `b.length` 바이트까지의 데이터를, 이 입력 스트림로부터 바이트 배열에 읽어들입니다. 이 메소드는, 입력의 일부를 이용할 수 있게 될 때까지 블록 합니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `read`
  파라미터:
    `b` - 데이터의 read처의 버퍼
  반환값:
    버퍼에 읽힌 바이트의 합계수. 또는, 파일의 마지막에 이르렀기 때문에 그 이상 데이터가 존재하지 않는 경우는 `-1`
  예외:
    `IOException` - 입출력 에러가 발생했을 경우
  관련 항목:
    `InputStream.read(byte[], int, int)`

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws IOException

  최대 `len` 바이트까지의 데이터를, 이 입력 스트림로부터 바이트 배열에 읽어들입니다. `len` 가 0 이 아닌 경우, 이 메소드는 입력의 일부를 이용할 수 있게 될 때까지 블록 합니다. 그렇지 않은 경우, 바이트는 읽히지 않고,`0` 이 돌려주어집니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `read`
  파라미터:
    `b` - 데이터의 read처의 버퍼
    `off` - 전송처의 배열 `b` 내에서의 개시 오프셋(offset)
    `len` - 읽히는 최대 바이트수
  반환값:
    버퍼에 읽힌 바이트의 합계수. 또는, 파일의 마지막에 이르렀기 때문에 그 이상 데이터가 존재하지 않는 경우는 `-1`
  예외:
    `NullPointerException` - `b` 가 `null` 의 경우
    `IndexOutOfBoundsException` - `off` 가 부의 경우,`len` 가 부의 경우, 또는 `len` 가 `b.length - off` 보다 큰 경우
    `IOException` - 입출력 에러가 발생했을 경우
  관련 항목:
    `InputStream.read()`

### skip

    public long skip(long n)
              throws IOException

  입력 스트림로부터 `n` 바이트분을 스킵 및 파기합니다.

  다양한 이유로부터,`skip` 메소드는 지정보다 적은 바이트수 밖에 스킵 하지 않는 것이 있습니다. `0` 의 경우도 있습니다. `n` 가 부의 경우는,`InputStream` 슈퍼 클래스의 `skip` 메소드는 아무것도 실행합니다만,`IOException` 가 throw 됩니다. 스킵 된 실제의 바이트수가 돌려주어집니다.

  이 메소드에 의해 스킵 되는 바이트수가, 배킹 파일내의 나머지의 바이트수보다 많은 경우가 있습니다. 이 경우, 예외는 생성되지 않고, 스킵 된 바이트수에는, 배킹 파일의 EOF 를 넘은 바이트수가 포함될 가능성이 있습니다. 말미를 넘어 스킵 한 뒤에 스트림로부터 읽어들이려고 하면(자), 파일의 마지막을 나타내는 -1 이 돌려주어집니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `skip`
  파라미터:
    `n` - 스킵 하는 바이트수
  반환값:
    스킵 된 실제의 바이트수
  예외:
    `IOException` - n 가 부의 경우, 스트림이 시크를 지원하고 있지 않는 경우, 또는 입출력 에러가 발생했을 경우

### available

    public int available()
                  throws IOException

  이 입력 스트림의 메소드의 다음의 호출에 의해, 블록 하지 않고 이 입력 스트림로부터 읽어들일 수가 있는 (또는 스킵 할 수 있다) 추정 바이트수를 돌려줍니다. 다음의 호출은, 같은 thread의 경우도 다른 thread의 경우도 있습니다. 이러한 다수의 바이트를 1 회에 읽어들이거나 스킵 하거나 하는 것으로 블록 할 것은 없습니다만, 읽어들이는 또는 스킵 하는 바이트수가 적게 되는 일이 있습니다.

  경우에 따라서는, 블록이 없는 read (또는 스킵)는, 단지 처리가 늦을 때에 블록 되어 있는 것처럼 보이는 일이 있습니다. 예를 들어, 저속의 네트워크를 개입시켜 대용량의 파일을 읽어들이는 경우 등입니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `available`
  반환값:
    블록 하지 않고 이 입력 스트림로부터 읽어들일 수가 있는 (또는 스킵 할 수 있다) 추정 바이트수
  예외:
    `IOException` - `close` 의 호출에 의해, 이 파일 입력 스트림이 닫혀졌을 경우, 또는 입출력 에러가 발생했을 경우

### close

    public void close()
               throws IOException

  파일 입력 스트림을 닫아 이 스트림에 관련하는 system resource를 해제합니다.

  이 스트림에 채널을 관련지을 수 있고 있는 경우는, 그 채널도 닫습니다.

  정의:
    인터페이스 `Closeable` 내의 `close`
  오버라이드(override):
    클래스 `InputStream` 내의 `close`
  예외:
    `IOException` - 입출력 에러가 발생했을 경우

### getFD

    public final FileDescriptor  getFD()
                               throws IOException

  이 `FileInputStream` 에 사용되고 있는 파일 시스템의 실제의 파일에의 접속을 나타내는 `FileDescriptor` 객체를 돌려줍니다.

  반환값:
    이 스트림에 관련하는 파일 기술자 객체
  예외:
    `IOException` - 입출력 에러가 발생했을 경우
  관련 항목:
    `FileDescriptor`

### getChannel

    public FileChannel  getChannel()

  이 파일 입력 스트림에 관련지을 수 있던, 일의 `FileChannel` 객체를 돌려줍니다.

  반환된 채널의 `java.nio.channels.FileChannel#position()`position`` 의 초기치는, 그때까지 파일로부터 읽힌 바이트수로 동일해집니다. 이 스트림로부터 바이트를 읽어들이면(자) 채널의 위치가 증분 됩니다. 채널의 위치가 명시적으로 변경되었을 경우, 또는 read야는 변경되었을 경우는, 이 스트림의 파일 위치가 변경됩니다.

  반환값:
    이 파일 입력 스트림에 관련지을 수 있었던 파일 채널
  도입된 버젼:
    1.4

### finalize

    protected void finalize()
                     throws IOException

  파일 입력 스트림에의 참조가 존재하지 않게 되었을 때에, 이 스트림의 `close` 메소드가 확실히 불려 가도록(듯이) 합니다.

  오버라이드(override):
    클래스 `Object` 내의 `finalize`
  예외:
    `IOException` - 입출력 에러가 발생했을 경우
  관련 항목:
    `close()`

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 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 도 참조해 주세요.