|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface ImageInputStream
ImageReader
로 사용되는 시크 가능한 입력 스트림 인터페이스입니다. InputStream
나 File
등이 다양한 입력 소스, 및 장래의 고속의 입출력 소스를, 이 인터페이스의 적절한 구현으로 「랩」하는 것으로, 이미지 입출력 API 로부터 사용 가능하게 할 수 있습니다.
ImageInputStreamImpl
,
FileImageInputStream
,
FileCacheImageInputStream
,
MemoryCacheImageInputStream
메소드의 개요 | |
---|---|
void |
close ()
스트림을 닫습니다. |
void |
flush ()
현재의 스트림 위치보다 전의 초기의 스트림 위치를 파기합니다. |
void |
flushBefore (long pos)
지시받은 위치보다 전의 초기의 스트림 부분을 파기합니다. |
int |
getBitOffset ()
현재의 비트 오프셋(offset)를 0 에서 7 까지의 정수로서 돌려줍니다. |
ByteOrder |
getByteOrder ()
이 스트림로부터 읽히는 데이터의 바이트순서를, java.nio.ByteOrder 열거의 인스턴스로서 돌려줍니다. |
long |
getFlushedPosition ()
시크가 실행되는 스트림내의 제일 초기의 위치를 돌려줍니다. |
long |
getStreamPosition ()
스트림의 현재의 바이트 위치를 돌려줍니다. |
boolean |
isCached ()
역시크를 가능하게 하기 위해서, 이 ImageInputStream 가 데이터 자체를 캐쉬에 포함하는 경우는 true 를 돌려줍니다. |
boolean |
isCachedFile ()
이 ImageInputStream 가, 역시크를 가능하게 하기 위해서 데이터 자체를 캐쉬에 포함해, 캐쉬가 임시 파일에 보관 유지되는 경우는 true 를 돌려줍니다. |
boolean |
isCachedMemory ()
이 ImageInputStream 가, 역시크를 유효하게 하기 위해서 데이터 자체를 캐쉬에 포함해, 캐쉬가 메인 메모리에 보관 유지되는 경우는 true 를 돌려줍니다. |
long |
length ()
기존의 경우, 스트림의 전체 길이를 돌려줍니다. |
void |
mark ()
그 후의 reset 호출로 반환되는 스트림내의 위치를 마크 붙이고 합니다. |
int |
read ()
스트림로부터 1 바이트를 읽어들여, 그것을 0 에서 255 까지의 정수로서 돌려줍니다. |
int |
read (byte[] b)
스트림로부터 b.length 바이트까지를 읽어들여,b 에 인덱스 0 으로부터 포함합니다. |
int |
read (byte[] b,
int off,
int len)
스트림로부터 len 바이트까지 읽어들여,b 에 인덱스 off 로부터 포함합니다. |
int |
readBit ()
스트림로부터 1 비트를 읽어들여, 그것을 값 0 또는 1 의 int 로서 돌려줍니다. |
long |
readBits (int numBits)
스트림로부터 비트열을 읽어들여, long 로서 돌려줍니다. |
boolean |
readBoolean ()
스트림로부터 1 바이트를 읽어들여, 0 이 아닌 경우는 true 의 boolean 치를 돌려주어, 0 의 경우는 false 를 돌려줍니다. |
byte |
readByte ()
스트림로부터 1 바이트를 읽어들여, 그것을 byte 치로서 돌려줍니다. |
void |
readBytes (IIOByteBuffer buf,
int len)
스트림로부터 len 바이트까지를 읽어들여, 지정된 IIOByteBuffer 를 변경해 데이터를 검출 가능한 바이트 배열, 오프셋(offset), 및 길이를 나타냅니다. |
char |
readChar ()
readUnsignedShort 와 동등, 다만 결과는 char 데이터형을 사용해 돌려주어집니다. |
double |
readDouble ()
스트림로부터 8 바이트를 읽어들여, 현재의 바이트순서에 따라 개념상 그것들을 연결해, 결과를 double 치로서 돌려줍니다. |
float |
readFloat ()
스트림로부터 4 바이트를 읽어들여, 현재의 바이트순서에 따라 개념상 그것들을 연결해, 결과를 float 치로서 돌려줍니다. |
void |
readFully (byte[] b)
스트림로부터 b.length 바이트를 읽어들여, 그것들을 b 에 인덱스 0 으로부터 포함합니다. |
void |
readFully (byte[] b,
int off,
int len)
스트림로부터 len 바이트를 읽어들여, 그것들을 b 에 인덱스 off 로부터 포함합니다. |
void |
readFully (char[] c,
int off,
int len)
스트림로부터 현재의 바이트순서에 따라 len 바이트의 char (부호 없음 16 비트 정수) 치를 읽어들여, 그것들을 c 에 인덱스 off 로부터 포함합니다. |
void |
readFully (double[] d,
int off,
int len)
스트림로부터 현재의 바이트순서에 따라 len 바이트의 double (64 비트 IEEE 배정밀도 부동 소수점수(실수)) 치를 읽어들여, 그것들을 d 에 인덱스 off 로부터 포함합니다. |
void |
readFully (float[] f,
int off,
int len)
스트림로부터 현재의 바이트순서에 따라 len 바이트의 float (32 비트 IEEE 단정밀도 부동 소수점수(실수)) 치를 읽어들여, 그것들을 f 에 인덱스 off 로부터 포함합니다. |
void |
readFully (int[] i,
int off,
int len)
스트림로부터 현재의 바이트순서에 따라 len 바이트의 int (부호 첨부 32 비트 정수) 치를 읽어들여, 그것들을 i 에 인덱스 off 로부터 포함합니다. |
void |
readFully (long[] l,
int off,
int len)
스트림로부터 현재의 바이트순서에 따라 len 바이트의 long (부호 첨부 64 비트 정수) 치를 읽어들여, 그것들을 l 에 인덱스 off 로부터 포함합니다. |
void |
readFully (short[] s,
int off,
int len)
스트림로부터 현재의 바이트순서에 따라 len 바이트의 short (부호 첨부 16 비트 정수) 치를 읽어들여, 그것들을 s 에 인덱스 off 로부터 포함합니다. |
int |
readInt ()
스트림로부터 4 바이트를 읽어들여, 현재의 바이트순서에 따라 개념상 그것들을 연결해, 결과를 int 치로서 돌려줍니다. |
String |
readLine ()
입력 스트림로부터, 다음의 행의 텍스트를 읽어들입니다. |
long |
readLong ()
스트림로부터 8 바이트를 읽어들여, 현재의 바이트순서에 따라 개념상 그것들을 연결해, 결과를 long 치로서 돌려줍니다. |
short |
readShort ()
스트림로부터 2 바이트를 읽어들여, 현재의 바이트순서에 따라 개념상 그것들을 연결해, 결과를 short 치로서 돌려줍니다. |
int |
readUnsignedByte ()
스트림로부터 바이트를 읽어들여, 개념상, 정수로 변환해, 부호 확장 비트를 없애기 위해서(때문에) 그것을 0xff 로 마스크 해,byte 치로서 돌려줍니다. |
long |
readUnsignedInt ()
스트림로부터 4 바이트를 읽어들여 현재의 바이트순서에 따라 개념상 그것들을 연결해, 결과의 값을 long 로 변환해, 부호 확장 비트를 없애기 위해서(때문에) 0xffffffffL 로 마스크 합니다. |
int |
readUnsignedShort ()
스트림로부터 2 바이트를 읽어들여, 현재의 바이트순서에 따라 개념상 그것들을 연결해, 결과의 값을 int 로 변환해, 부호 확장 비트를 없애기 위해서(때문에) 0xffff 로 마스크 합니다. |
String |
readUTF ()
수정 UTF-8 형식에서 encode 된 캐릭터 라인을 읽어들입니다. |
void |
reset ()
최신의 불일치의 mark 호출 시점의, 비트 오프셋(offset)를 포함하기 이전의 위치를 가리키는 스트림 포인터를 돌려줍니다. |
void |
seek (long pos)
현재의 스트림 위치를 목적의 위치로 설정합니다. |
void |
setBitOffset (int bitOffset)
비트 오프셋(offset)에 0 에서 7 까지의 정수를 설정합니다. |
void |
setByteOrder (ByteOrder byteOrder)
이 스트림로부터의 향후의 데이터값의 읽을 위해(때문에), 바이트순서를 설정합니다. |
int |
skipBytes (int n)
지정된 바이트수만큼 스트림 위치를 앞두고 이동합니다. |
long |
skipBytes (long n)
지정된 바이트수만큼 스트림 위치를 앞두고 이동합니다. |
메소드의 상세 |
---|
void setByteOrder(ByteOrder byteOrder)
열거 클래스 java.nio.ByteOrder
를 사용해 바이트순서를 지정합니다. 값 ByteOrder.BIG_ENDIAN
에서는, 고위의 바이트가 선두가 되는, 이른바 빅 endian (네트워크 바이트순서)가 지정됩니다. Motorola 와 Sparc 프로세서는 데이터를 이 형식에서 포함합니다. 한편 Intel 프로세서는, 데이터를 역순서의 ByteOrder.LITTLE_ENDIAN
로 포함합니다.
바이트순서는,readBits
메소드로부터 반환되는 결과 (ImageOutputStream.writeBits
에 의해 기입해지는 값)에는 영향을 주지 않습니다.
byteOrder
- ByteOrder.BIG_ENDIAN
또는 java.nio.ByteOrder.LITTLE_ENDIAN
의 언젠가
(향후의 read로 네트워크 바이트순서 또는 그 역순서의 어느 쪽을 사용할까를
가리킨다)ByteOrder
,
getByteOrder()
,
readBits(int)
ByteOrder getByteOrder()
java.nio.ByteOrder
열거의 인스턴스로서 돌려줍니다.
ByteOrder.BIG_ENDIAN
또는 ByteOrder.LITTLE_ENDIAN
의 언젠가
(사용되는 바이트순서를 나타낸다)ByteOrder
,
setByteOrder(java.nio.ByteOrder)
int read() throws IOException
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
IOException
- 입출력 에러가 발생했을 경우int read(byte[] b) throws IOException
b.length
바이트까지를 읽어들여,b
에 인덱스 0 으로부터 포함합니다. 읽어들인 바이트수를 돌려줍니다. 스트림의 마지막에 이르렀기 때문에 바이트를 읽어들일 수 없는 경우는,-1 을 돌려줍니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
b
- 기입해지는 바이트 배열
-1
NullPointerException
- b
가
null
의 경우
IOException
- 입출력 에러가 발생했을 경우int read(byte[] b, int off, int len) throws IOException
len
바이트까지 읽어들여,b
에 인덱스 off
로부터 포함합니다. 읽어들인 바이트수를 돌려줍니다. 스트림의 마지막에 이르렀기 때문에 바이트를 읽어들일 수 없는 경우는,-1
을 돌려줍니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
b
- 기입해지는 바이트 배열off
- 기입처의 b
내의 개시 위치len
- byte
의 최대 read수
-1
NullPointerException
- b
가
null
의 경우
IndexOutOfBoundsException
- off
가 부,
len
가 부, 또는 off +
len
가 b.length
보다 큰 경우
IOException
- 입출력 에러가 발생했을 경우void readBytes(IIOByteBuffer buf, int len) throws IOException
len
바이트까지를 읽어들여, 지정된 IIOByteBuffer
를 변경해 데이터를 검출 가능한 바이트 배열, 오프셋(offset), 및 길이를 나타냅니다. 호출측에서,IIOByteBuffer
로 검출된 데이터를 변경 해서는 안됩니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
buf
- 변경되는 IIOByteBuffer 객체len
- byte
의 최대 read수
IndexOutOfBoundsException
- len
가
부의 경우
NullPointerException
- buf
가
null
의 경우
IOException
- 입출력 에러가 발생했을 경우boolean readBoolean() throws IOException
true
의 boolean
치를 돌려주어, 0 의 경우는 false
를 돌려줍니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readBoolean
EOFException
- 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우byte readByte() throws IOException
byte
치로서 돌려줍니다. 0x00
에서 0x7f
까지의 바이트치는 0
에서 127
까지의 정수를 나타냅니다. 0x80
에서 0xff
까지의 값은 -128
으로부터 -1
까지의 0 보다 작은 값을 나타냅니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readByte
EOFException
- 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우int readUnsignedByte() throws IOException
0xff
로 마스크 해,byte
치로서 돌려줍니다.
따라서,0x00
에서 0x7f
까지의 바이트치는 0
에서 127
까지의 정수치로서 단순하게 돌려주어집니다. 일반적으로은 부의 byte
치를 나타내는 0x80
에서 0xff
까지의 값은,128
에서 255
까지의 정의 정수에 대응 붙이고 됩니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readUnsignedByte
EOFException
- 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우short readShort() throws IOException
short
치로서 돌려줍니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readShort
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우getByteOrder()
int readUnsignedShort() throws IOException
int
로 변환해, 부호 확장 비트를 없애기 위해서(때문에) 0xffff
로 마스크 합니다. 그 결과를 부호 없음 int
치로서 돌려줍니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readUnsignedShort
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우getByteOrder()
char readChar() throws IOException
readUnsignedShort
와 동등, 다만 결과는 char
데이터형을 사용해 돌려주어집니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readChar
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우readUnsignedShort()
int readInt() throws IOException
int
치로서 돌려줍니다.
스트림내의 비트 오프셋(offset)는 무시되어 0 으로서 다루어집니다.
DataInput
내의 readInt
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우getByteOrder()
long readUnsignedInt() throws IOException
0xffffffffL
로 마스크 합니다. 그 결과를 부호 없음 long
치로서 돌려줍니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우getByteOrder()
long readLong() throws IOException
long
치로서 돌려줍니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readLong
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우getByteOrder()
float readFloat() throws IOException
float
치로서 돌려줍니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readFloat
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우getByteOrder()
double readDouble() throws IOException
double
치로서 돌려줍니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readDouble
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우getByteOrder()
String readLine() throws IOException
String
로서 돌려주어집니다. 이 메소드는 바이트를 처리하는 것이므로, Unicode 캐릭터 세트의 입력을 완전하게는 지원하지 않습니다.
파일의 마지막이 검출 될 때까지 1 바이트도 읽어들일 수 없었던 경우에는,null
가 돌려주어집니다. 그렇지 않은 경우, 읽힌 각 바이트는 제로 확장에 의해 char
형에 변환됩니다. 문자 '\n'
가 검출되면(자), 이 문자는 파기되어 read는 중지됩니다. 문자 '\r'
가 검출되면(자), 이 문자는 파기되어 그 다음의 바이트가 문자 '\n'
에 변환됩니다만, 이 문자도 파기되어, read가 중지됩니다. 문자 '\n'
와 문자 '\r'
의 어느 쪽인지 보다 전에 파일의 마지막이 검출되면(자), read가 중지됩니다. read가 중지되면(자), 읽혀 파기되어 있지 않은 모든 문자를 수중에 넣은 차례로 포함하고 있는 String
가 돌려주어집니다. 이 캐릭터 라인의 각각의 문자는 \u0100
, 즉 (char) 256
보다 작은 값을 가집니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readLine
IOException
- 입출력 에러가 발생했을 경우String readUTF() throws IOException
readUTF
의 범용 규약에서는, 수정 UTF-8 형식에서 encode 된 Unicode 캐릭터 라인의 표현을 읽어들입니다. 읽힌 캐릭터 라인은,String
로서 돌려주어집니다.
우선, 2 바이트를 읽어들여, 그것을 사용해 readUnsignedShort
메소드와 완전히 같은 방법으로 부호 없음 16 비트 정수를 작성합니다. 이 때, 현재의 바이트순서의 설정에 관계없이 네트워크 바이트순서를 사용합니다. 이 정수치는 「UTF 장」이라고 불려 읽히는 추가의 바이트수를 나타냅니다. 다음에, 이 바이트가 그룹 단위로 문자에 변환됩니다. 각 그룹의 길이는, 그룹의 선두 바이트의 값으로부터 계산됩니다. 그룹에 후속의 바이트가 있으면, 그것은 다음의 그룹의 선두 바이트입니다.
그룹의 선두 바이트가 비트 패턴의 0xxxxxxx
(다만,x
는 0
또는 1
을 의미한다)에 일치하는 경우, 그룹은 그 바이트만으로 구성됩니다. 바이트는 제로 확장되어 단일의 문자를 표현합니다.
그룹의 선두 바이트가 비트 패턴 110xxxxx
에 일치하는 경우, 그 그룹은 그 바이트 a
와 2 번째의 바이트 b
로부터 구성됩니다. 바이트 b
가 존재하지 않는 경우 (바이트 a
가 읽힌 마지막 바이트였던 경우)나, 바이트 b
가 비트 패턴 10xxxxxx
에 일치하지 않는 경우에는,UTFDataFormatException
가 throw 됩니다. 그렇지 않은 경우, 그룹은 다음의 문자에 변환됩니다.
(char)(((a& 0x1F) << 6) | (b & 0x3F))
그룹의 선두 바이트가 비트 패턴 1110xxxx
에 일치하는 경우, 그 그룹은 선두 바이트 a
에 가세해, 2 살의 바이트 b
와 c
로부터 구성됩니다. 바이트 c
가 존재하지 않는 경우 (바이트 a
가 읽힌 일련의 바이트의 마지막 2 개(살)에 들어가 있었을 경우)나, 바이트 b
또는 c
가 비트 패턴 10xxxxxx
에 일치하지 않는 경우에는,UTFDataFormatException
가 throw 됩니다. 그렇지 않은 경우, 그룹은 다음의 문자에 변환됩니다.
(char)(((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F))
그룹의 선두 바이트가 패턴 1111xxxx
나 패턴 10xxxxxx
에 일치하는 경우,UTFDataFormatException
가 throw 됩니다.
이 처리 전체의 어디선가 파일의 마지막이 검출되면(자),EOFException
가 throw 됩니다.
각 그룹이 이 처리로 1 문자에 변환되면(자), 대응하는 그룹이 입력 스트림로부터 읽힌 것과 같은 순서로 각 문자가 수집되어String
를 표현합니다. 그리고, 이 String
가 돌려주어집니다.
현재의 바이트순서의 설정은 무시됩니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
주: 여기서 사용되는 수정 UTF-8 는 표준 UTF-8 와 호환성이 없습니다. 이 때문에, 표준 UTF-8 를 사용하는 이미지 형식의 구현에서는 이 메소드를 사용하지 말아 주세요.
DataInput
내의 readUTF
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
UTFDataFormatException
- 캐릭터 라인중의 바이트가,
유효한 수정 UTF-8 형식에서 encode 된 캐릭터 라인 이외에서 만났을 경우
IOException
- 입출력 에러가 발생했을 경우void readFully(byte[] b, int off, int len) throws IOException
len
바이트를 읽어들여, 그것들을 b
에 인덱스 off
로부터 포함합니다. 스트림의 마지막에 이르면(자), EOFException
가 throw 됩니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readFully
b
- 기입해지는 바이트 배열off
- 기입처의 b
내의 개시 위치len
- byte
의 최대 read수
IndexOutOfBoundsException
- off
가 부,
len
가 부, 또는 off +
len
가 b.length
보다 큰 경우
NullPointerException
- b
가
null
의 경우
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우void readFully(byte[] b) throws IOException
b.length
바이트를 읽어들여, 그것들을 b
에 인덱스 0
으로부터 포함합니다. 스트림의 마지막에 이르면(자), EOFException
가 throw 됩니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
DataInput
내의 readFully
b
- byte
의 배열
NullPointerException
- b
가
null
의 경우
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우void readFully(short[] s, int off, int len) throws IOException
len
바이트의 short (부호 첨부 16 비트 정수) 치를 읽어들여, 그것들을 s
에 인덱스 off
로부터 포함합니다. 스트림의 마지막에 이르면(자), EOFException
가 throw 됩니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
s
- 기입해지는 short 배열off
- 기입처의 b 내의 개시 위치len
- short
의 최대 read수
IndexOutOfBoundsException
- off
가 부,
len
가 부, 또는 off +
len
가 s.length
보다 큰 경우
NullPointerException
- s
가
null
의 경우
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우void readFully(char[] c, int off, int len) throws IOException
len
바이트의 char (부호 없음 16 비트 정수) 치를 읽어들여, 그것들을 c
에 인덱스 off
로부터 포함합니다. 스트림의 마지막에 이르면(자), EOFException
가 throw 됩니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
c
- 기입해지는 char 배열off
- 기입처의 b 내의 개시 위치len
- char
의 최대 read수
IndexOutOfBoundsException
- off
가 부,
len
가 부, 또는 off +
len
가 c.length
보다 큰 경우
NullPointerException
- c
가 null 의 경우
null
의 경우
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우void readFully(int[] i, int off, int len) throws IOException
len
바이트의 int (부호 첨부 32 비트 정수) 치를 읽어들여, 그것들을 i
에 인덱스 off
로부터 포함합니다. 스트림의 마지막에 이르면(자), EOFException
가 throw 됩니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
i
- 기입해지는 int 배열off
- 기입처의 b 내의 개시 위치len
- int
의 최대 read수
IndexOutOfBoundsException
- off
가 부,
len
가 부, 또는 off +
len
가 i.length
보다 큰 경우
NullPointerException
- i
가
null
의 경우
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우void readFully(long[] l, int off, int len) throws IOException
len
바이트의 long (부호 첨부 64 비트 정수) 치를 읽어들여, 그것들을 l
에 인덱스 off
로부터 포함합니다. 스트림의 마지막에 이르면(자), EOFException
가 throw 됩니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
l
- 기입해지는 long 배열off
- 기입처의 b 내의 개시 위치len
- long
의 최대 read수
IndexOutOfBoundsException
- off
가 부,
len
가 부, 또는 off +
len
가 l.length
보다 큰 경우
NullPointerException
- l
가
null
의 경우
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우void readFully(float[] f, int off, int len) throws IOException
len
바이트의 float (32 비트 IEEE 단정밀도 부동 소수점수(실수)) 치를 읽어들여, 그것들을 f
에 인덱스 off
로부터 포함합니다. 스트림의 마지막에 이르면(자), EOFException
가 throw 됩니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
f
- 기입해지는 float 배열off
- 기입처의 b 내의 개시 위치len
- float
의 최대 read수
IndexOutOfBoundsException
- off
가 부,
len
가 부, 또는 off +
len
가 f.length
보다 큰 경우
NullPointerException
- f
가
null
의 경우
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우void readFully(double[] d, int off, int len) throws IOException
len
바이트의 double (64 비트 IEEE 배정밀도 부동 소수점수(실수)) 치를 읽어들여, 그것들을 d
에 인덱스 off
로부터 포함합니다. 스트림의 마지막에 이르면(자), EOFException
가 throw 됩니다.
스트림내의 비트 오프셋(offset)는, read를 실시하기 전에 0 에 리셋 됩니다.
d
- 기입해지는 double 배열off
- 기입처의 b 내의 개시 위치len
- double
의 최대 read수
IndexOutOfBoundsException
- off
가 부,
len
가 부, 또는 off +
len
가 d.length
보다 큰 경우
NullPointerException
- d
가
null
의 경우
EOFException
- 모든 바이트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우long getStreamPosition() throws IOException
IOException
- 입출력 에러가 발생했을 경우int getBitOffset() throws IOException
readBits
메소드의 호출로 암묵적으로 갱신됩니다. 값 0 은 읽히는 바이트의 최상정도 비트, 값 7 은 최하정도 비트를 나타냅니다.
비트 오프셋(offset)는, 스트림을 최초로 열 때 0 으로 설정되어seek
,skipBytes
, 또는 read
나 readFully
메소드중 한쪽이 불려 가면(자) 0 에 리셋 됩니다.
int
IOException
- 입출력 에러가 발생했을 경우setBitOffset(int)
void setBitOffset(int bitOffset) throws IOException
getStreamPosition
로부터 반환되는, 스트림내의 바이트 오프셋(offset)는 변경되지 않습니다. 값 0 은 읽히는 바이트의 최상정도 비트, 값 7 은 최하정도 비트를 나타냅니다.
bitOffset
- 목적의 오프셋(offset)로,
0 에서 7 까지의 int
IllegalArgumentException
- bitOffset
가
0 에서 7 의 범위에 없는 경우
IOException
- 입출력 에러가 발생했을 경우getBitOffset()
int readBit() throws IOException
0
또는 1
의 int
로서 돌려줍니다. 비트 오프셋(offset)는 1 두개증가해, 8 을 법으로서 감 분 합니다.
0
또는 1
의
int
EOFException
- 모든 비트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우long readBits(int numBits) throws IOException
long
로서 돌려줍니다. 읽어들인 최초의 비트가 출력의 최상정도 비트가 됩니다. read는,getStreamPosition
로 지정되는 바이트내의 getBitOffset
로 지정되는 비트 위치로부터 개시됩니다. 비트 오프셋(offset)는 numBits
두개증가해, 8 을 법으로서 감 분 합니다.
스트림의 바이트순서는 이 메소드에 영향을 주지 않습니다. 이 메소드의 반환값은 비트가 동시에 읽혔는지와 같이 구축되어 반환값의 우측으로 쉬프트 됩니다. 이것을 다음의 의사 코드로 가리킵니다.
long accum = 0L; for (int i = 0; i < numBits; i++) { accum <<= 1; // Shift left one bit to make room accum |= readBit(); }따라서, 역네트워크 바이트순서가 사용되고 있는 경우 (즉,
getByteOrder() == false
),readBits(32)
의 결과가 readInt()
의 결과와 다른 경우가 있습니다.
모든 비트를 읽어들이기 전에 스트림의 마지막을 검출했을 경우,EOFException
가 throw 됩니다.
numBits
- 읽어들이는 비트수를 나타낸다
0 에서 64 까지의 int
long
의 비트열
IllegalArgumentException
- numBits
가
0 에서 64 의 범위내에 없는 경우
EOFException
- 모든 비트를 읽어들이기 전에,
이 스트림의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우long length() throws IOException
-1
을 돌려줍니다.
long
,
그렇지 않은 경우는 -1
IOException
- 입출력 에러가 발생했을 경우int skipBytes(int n) throws IOException
DataInput
내의 skipBytes
n
- 스킵 하는 바이트수를 포함한다
int
int
IOException
- 입출력 에러가 발생했을 경우long skipBytes(long n) throws IOException
skipBytes(int)
와 같습니다만, 한층 더 멀어진 위치까지 스킵 할 수 있습니다.
n
- 스킵 하는 바이트수를 포함한다
long
long
IOException
- 입출력 에러가 발생했을 경우void seek(long pos) throws IOException
pos
가 getflushedPosition
로부터 반환되는 플래시 위치보다 작은 경우는,IndexOutOfBoundsException
가 throw 됩니다.
시크로 파일의 마지막을 통과하는 것은 정상적이고,EOFException
는 읽을 경우만 throw 됩니다.
pos
- 목적의 파일 포인터 위치를 나타낸다
long
IndexOutOfBoundsException
- pos
가
플래시 위치보다 작은 경우
IOException
- 그 외의 입출력 에러가 발생했을 경우void mark()
reset
호출로 반환되는 스트림내의 위치를 마크 붙이고 합니다. 표준의 InputStream
과는 달리,ImageInputStream
는 모두 마크부를 지원합니다. 게다가mark
와 reset
의 호출은, 임의에 네스트화할 수가 있습니다.
Reader
및 InputStream
인터페이스로 선언되는 mark
메소드와는 달라,readLimit
파라미터는 사용되지 않습니다. mark
의 호출에 이어 임의의 데이터량을 읽어들일 수가 있습니다.
readBits
메소드로 사용되는 비트 위치는 보존되어mark
와 reset
를 페어로 호출할 때마다 복원됩니다.
ImageReader
는, read 조작의 일부로서 flushBefore
를 호출할 수가 있는 것에 유의해 주세요. 이 때문에, 어플리케이션이 스트림을 ImageReader
에 건네주기 전에 mark
를 호출하는 경우, read 조작이 완료한 후도 마크 위치가 유효하다라고 생각해야 하는 것이 아닙니다.
void reset() throws IOException
mark
호출 시점의, 비트 오프셋(offset)를 포함하기 이전의 위치를 가리키는 스트림 포인터를 돌려줍니다.
대응하는 mark
를 호출하지 않고 reset
를 호출하는 경우에는 영향 없습니다.
이전에 마크 붙이고 된 위치가 스트림의 파기된 부분인 경우에는 IOException
가 throw 됩니다.
IOException
- 입출력 에러가 발생했을 경우void flushBefore(long pos) throws IOException
IndexOutOfBoundsException
가 throw 됩니다.
flushBefore
를 호출하면(자), 이 인터페이스를 구현하는 클래스가, 스트림로부터 데이터를 포함하는데 사용하는 메모리나 디스크 스페이스등의 자원을 해제할 수 있습니다.
pos
- 플래시 되는 스트림 접두사의
길이를 나타내는 long
IndexOutOfBoundsException
- pos
가
스트림의 플래시 부분에 있는지,
또는 현재의 스트림 위치를 통과했을 경우
IOException
- 입출력 에러가 발생했을 경우void flush() throws IOException
flushBefore(getStreamPosition())
와 같습니다.
IOException
- 입출력 에러가 발생했을 경우long getFlushedPosition()
flushBefore
호출에게 건네진 모든 값의 최대치가 됩니다.
long
boolean isCached()
ImageInputStream
가 데이터 자체를 캐쉬에 포함하는 경우는 true
를 돌려줍니다. 어플리케이션은 캐쉬 자원을 절약하기 위해서, 이것을 참조해 플래시의 빈도, 또는 플래시 할지 어떨지를 결정할 수 있습니다.
ImageInputStream
가 데이터를 캐쉬에 포함하는 경우는
true
isCachedMemory()
,
isCachedFile()
boolean isCachedMemory()
ImageInputStream
가, 역시크를 유효하게 하기 위해서 데이터 자체를 캐쉬에 포함해, 캐쉬가 메인 메모리에 보관 유지되는 경우는 true
를 돌려줍니다. 어플리케이션은 캐쉬 자원을 절약하기 위해서, 이것을 참조해 플래시의 빈도, 또는 플래시 할지 어떨지를 결정할 수 있습니다.
ImageInputStream
가 데이터를
메인 메모리에 캐쉬하는 경우는 true
isCached()
,
isCachedFile()
boolean isCachedFile()
ImageInputStream
가, 역시크를 가능하게 하기 위해서 데이터 자체를 캐쉬에 포함해, 캐쉬가 임시 파일에 보관 유지되는 경우는 true
를 돌려줍니다. 어플리케이션은 캐쉬 자원을 절약하기 위해서, 이것을 참조해 플래시의 빈도, 또는 플래시 할지 어떨지를 결정할 수 있습니다.
ImageInputStream
가 데이터를
임시 파일에 캐쉬하는 경우는 true
isCached()
,
isCachedMemory()
void close() throws IOException
IOException
가 throw 될까 부정한 동작이 실행되는 경우가 있습니다. 이 메소드를 호출하면(자), 이 인터페이스를 구현하는 클래스가, 메모리, 디스크 스페이스, 또는 파일 기술자등의 스트림에 관련하는 자원을 해제할 수 있습니다.
IOException
- 입출력 에러가 발생했을 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.