JavaTM Platform
Standard Ed. 6

javax.crypto
클래스 CipherInputStream

java.lang.Object 
  상위를 확장 java.io.InputStream 
      상위를 확장 java.io.FilterInputStream 
          상위를 확장 javax.crypto.CipherInputStream
모든 구현된 인터페이스:
Closeable


public class CipherInputStream
extends FilterInputStream

CipherInputStream 는 InputStream 와 Cipher 로 구성되어 있으므로, read() 메소드는 기본이 되는 InputStream 로부터 읽힌 데이터를 돌려줍니다만, Cipher 에 의해 추가의 처리를 하고 있습니다. Cipher 는, 완전하게 초기화하지 않으면, CipherInputStream 로 사용할 수 없습니다.

예를 들어, Cipher 가 복호화용으로 초기화되고 있으면(자), CipherInputStream 는, 복호화 된 데이터를 돌려주기 전에, 데이터를 읽어들여 복호화 하려고 합니다.

이 클래스는, 상위 클래스 java.io.FilterInputStream 및 java.io.InputStream 의 시멘틱스, 특히 실패 시멘틱스에 엄밀하게 따릅니다. 이 클래스에서는, 그러한 메소드는 상위 클래스에서 엄밀하게 지정되고 있어 모두 오버라이드(override) 됩니다. 게다가 이 클래스는 상위 클래스에서 throw 되지 않는 모든 예외를 캐치 합니다. 특히,skip 메소드는 스킵을 실시해,available 메소드는 캡슐화된 Cipher 에 의해 처리된 데이터만을 카운트 합니다.

이 클래스를 사용하는 프로그래머는, 이 클래스에서 정의되어 있지 않은 메소드, 또는 오버라이드(override)되어 있지 않은 메소드 (새로운 메소드나, 나중에 슈퍼 클래스의 1 개에 추가되는 생성자 등)를 절대로 사용하지 말아 주세요. 그러한 메소드의 설계와 구현에서는, CipherInputStream 에 관한 시큐리티상의 영향이 고려되어 있지 않을 가능성이 있기 (위해)때문에입니다.

도입된 버젼:
1.4
관련 항목:
InputStream , FilterInputStream , Cipher , CipherOutputStream

필드의 개요
 
클래스 java.io. FilterInputStream 로부터 상속된 필드
in
 
생성자 의 개요
protected CipherInputStream (InputStream  is)
          InputStream 로부터 Cipher 를 지정하지 않고 CipherInputStream 를 구축합니다.
  CipherInputStream (InputStream  is, Cipher  c)
          InputStream 및 Cipher 로부터 CipherInputStream 를 구축합니다.
 
메소드의 개요
 int available ()
          블록 하지 않고 입력 스트림로부터 읽어들일 수가 있는 바이트수를 돌려줍니다.
 void close ()
          이 입력 스트림을 닫아, 그 스트림에 관련하는 모든 system resource를 해제합니다.
 boolean markSupported ()
          이 입력 스트림이,mark 메소드와 reset 메소드를 지원하고 있을지 어떨지를 판정합니다.
 int read ()
          이 입력 스트림의 데이터의 다음의 바이트를 읽어들입니다.
 int read (byte[] b)
          최대 b.length 바이트까지의 데이터를, 이 입력 스트림로부터 바이트 배열에 읽어들입니다.
 int read (byte[] b, int off, int len)
          이 입력 스트림로부터 len 바이트까지의 데이터를 바이트의 배열에 읽어들입니다.
 long skip (long n)
          블록 하지 않고 이 입력 스트림로부터 읽어들일 수가 있는 바이트로부터 n 바이트의 입력을 스킵 합니다.
 
클래스 java.io. FilterInputStream 로부터 상속된 메소드
mark , reset
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

CipherInputStream

public CipherInputStream(InputStream  is,
                         Cipher  c)
InputStream 및 Cipher 로부터 CipherInputStream 를 구축합니다.
주:지정된 입력 스트림 또는 암호가 null 의 경우는, 그러한 사용시에 NullPointerException 가 throw 될 가능성이 있습니다.

파라미터:
is - 처리되는 입력 스트림
c - 초기화된 Cipher 객체

CipherInputStream

protected CipherInputStream(InputStream  is)
InputStream 로부터 Cipher 를 지정하지 않고 CipherInputStream 를 구축합니다. 이것은, NullCipher 를 사용해 CipherInputStream 를 구축하는 효과를 가집니다.
주:지정된 입력 스트림이 null 의 경우는, 그것의 사용시에 NullPointerException 가 throw 될 가능성이 있습니다.

파라미터:
is - 처리되는 입력 스트림
메소드의 상세

read

public int read()
         throws IOException 
이 입력 스트림의 데이터의 다음의 바이트를 읽어들입니다. 바이트치는 0 ~ 255 의 범위의 int 로서 돌려주어집니다. 스트림의 마지막에 이르렀기 때문에 사용할 수 있는 바이트가 없는 경우는, 값 -1 이 돌려주어집니다. 입력 데이터를 읽어들일 수 있게 되는지, 파일의 마지막이 검출되는지, 또는 예외가 발생할 때까지, 이 메소드는 블록 됩니다.  

오버라이드(override):
클래스 FilterInputStream 내의 read
반환값:
데이터의 다음의 바이트. 스트림의 마지막에 이르렀을 경우는 -1
예외:
IOException - 입출력 에러가 발생했을 경우
도입된 버젼:
JCE1. 2
관련 항목:
FilterInputStream.in

read

public int read(byte[] b)
         throws IOException 
최대 b.length 바이트까지의 데이터를, 이 입력 스트림로부터 바이트 배열에 읽어들입니다.  

InputStreamread 메소드는, 인수 b,0, 및 b.length 를 지정해 3 개의 인수를 취하는 read 메소드를 호출합니다.

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

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException 
이 입력 스트림로부터 len 바이트까지의 데이터를 바이트의 배열에 읽어들입니다. 이 메소드는, 일부의 입력 데이터를 얻을 수 있게 될 때까지 블록 합니다. 최초의 인수가 null 의 경우는,len 까지의 바이트가 읽힌 뒤 폐기됩니다.

오버라이드(override):
클래스 FilterInputStream 내의 read
파라미터:
b - 데이터의 read처의 버퍼
off - 전송처의 배열 buf 내에서의 개시 좌표
len - 읽히는 최대 바이트수
반환값:
버퍼에 읽힌 바이트의 합계수. 또는, 스트림의 마지막에 달했기 때문에 그 이상 데이터가 존재하지 않는 경우는 -1
예외:
IOException - 입출력 에러가 발생했을 경우
도입된 버젼:
JCE1. 2
관련 항목:
InputStream.read()

skip

public long skip(long n)
          throws IOException 
블록 하지 않고 이 입력 스트림로부터 읽어들일 수가 있는 바이트로부터 n 바이트의 입력을 스킵 합니다.

스킵 되는 바이트가 요구된 바이트보다 적은 경우가 있습니다. 실제로 스킵 된 바이트수는,n 또는 available 를 호출한 결과의 쳐 작은 (분)편입니다. n 가 제로보다 작은 경우, 바이트는 스킵 되지 않습니다.

스킵 된 실제의 바이트수가 돌려주어집니다.

오버라이드(override):
클래스 FilterInputStream 내의 skip
파라미터:
n - 스킵 하는 바이트수
반환값:
스킵 된 실제의 바이트수
예외:
IOException - 입출력 에러가 발생했을 경우
도입된 버젼:
JCE1. 2

available

public int available()
              throws IOException 
블록 하지 않고 입력 스트림로부터 읽어들일 수가 있는 바이트수를 돌려줍니다. InputStreamavailable 메소드는 0 을 돌려줍니다. 서브 클래스는 이 메소드를 오버라이드(override) 할 필요가 있습니다.

오버라이드(override):
클래스 FilterInputStream 내의 available
반환값:
블록 하지 않고 입력 스트림로부터 읽어들일 수가 있는 바이트수
예외:
IOException - 입출력 에러가 발생했을 경우
도입된 버젼:
JCE1. 2

close

public void close()
           throws IOException 
이 입력 스트림을 닫아, 그 스트림에 관련하는 모든 system resource를 해제합니다.  

CipherInputStreamclose 메소드가, 기본이 되는 입력 스트림의 close 메소드를 호출합니다.

정의:
인터페이스 Closeable 내의 close
오버라이드(override):
클래스 FilterInputStream 내의 close
예외:
IOException - 입출력 에러가 발생했을 경우
도입된 버젼:
JCE1. 2
관련 항목:
FilterInputStream.in

markSupported

public boolean markSupported()
이 입력 스트림이,mark 메소드와 reset 메소드를 지원하고 있을지 어떨지를 판정합니다. 이러한 메소드는 지원되고 있지 않습니다.

오버라이드(override):
클래스 FilterInputStream 내의 markSupported
반환값:
이 클래스는 mark 메소드와 reset 메소드를 지원하고 있지 않았기 때문에,false
도입된 버젼:
JCE1. 2
관련 항목:
InputStream.mark(int) , InputStream.reset()

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 도 참조해 주세요.