|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.io.RandomAccessFile
public class RandomAccessFile
이 클래스의 인스턴스는, 랜덤 억세스 파일에 대한 읽기와 기입의 양쪽 모두를 지원합니다. 랜덤 억세스 파일의 동작은, 파일 시스템에 포함된 대규모 바이트 배열의 동작을 닮아 있습니다. 또, 파일 포인터로 불리는 어떤 종류의 커서, 즉 암시 배열내에의 인덱스가 있어, 입력 조작에서는 파일 포인터의 위치에서 바이트의 읽기를 개시해, 읽어낸 바이트를 넘어 파일 포인터를 진행시킵니다. 랜덤 억세스 파일이 읽어내/기입 모드로 생성되었을 경우, 출력 조작도 이용 가능하게 됩니다. 출력 조작에서는, 파일 포인터의 위치에서 바이트의 기입을 개시해, 기입해진 바이트를 넘어 파일 포인터를 진행시킵니다. 현재의 암묵의 배열의 마지막을 넘는 출력 조작에서는, 배열의 확장이 발생합니다. 파일 포인터는 getFilePointer
메소드에 의해 읽어낼 수가 있어seek
메소드에 의해 설정할 수 있습니다.
필요한 바이트수를 읽어내기 전에 end-of-file 에 도달했을 경우,IOException
의 일종인 EOFException
가 throw 됩니다만, 이것은 이 클래스의 모든 읽기 루틴에 들어맞읍니다. end-of-file 이외의 하등의 이유에 의해 바이트를 읽어낼 수가 없는 경우,EOFException
이외의 IOException
가 throw 됩니다. 특히, 스트림이 닫혀졌을 경우는,IOException
가 throw 될 가능성이 있습니다.
생성자 의 개요 | |
---|---|
RandomAccessFile (File file,
String mode)
File 인수로 지정된 파일로부터의 읽어들여, 및 옵션으로 기입을 행하기 위한 랜덤 억세스 파일 스트림을 작성합니다. |
|
RandomAccessFile (String name,
String mode)
지정된 이름의 파일로부터의 읽어들여, 및 옵션으로 기입을 행하기 위한 랜덤 억세스 파일 스트림을 작성합니다. |
메소드의 개요 | |
---|---|
void |
close ()
이 랜덤 억세스 파일 스트림을 닫아, 스트림에 관련지을 수 있었던 system resource를 해제합니다. |
FileChannel |
getChannel ()
이 파일에 관련지을 수 있던, 일의 FileChannel 객체를 돌려줍니다. |
FileDescriptor |
getFD ()
이 스트림에 관련하는 불투명한 파일 기술자를 돌려줍니다. |
long |
getFilePointer ()
이 파일의 현재의 오프셋(offset)를 돌려줍니다. |
long |
length ()
이 파일의 길이를 돌려줍니다. |
int |
read ()
이 파일로부터 데이터의 바이트를 읽어냅니다. |
int |
read (byte[] b)
이 파일로부터 최대 b.length 바이트의 데이터를 바이트의 배열안에 읽어냅니다. |
int |
read (byte[] b,
int off,
int len)
이 파일로부터 최대 len 바이트의 데이터를 바이트의 배열안에 읽어냅니다. |
boolean |
readBoolean ()
이 파일로부터 boolean 를 읽어냅니다. |
byte |
readByte ()
이 파일로부터 서명 첨부 8 비트치를 읽어냅니다. |
char |
readChar ()
이 파일로부터 문자를 읽어냅니다. |
double |
readDouble ()
이 파일로부터 double 를 읽어냅니다. |
float |
readFloat ()
이 파일로부터 float 를 읽어냅니다. |
void |
readFully (byte[] b)
현재의 파일 포인터의 위치로부터 개시해 b.length 바이트를 이 파일로부터 바이트 배열안에 읽어냅니다. |
void |
readFully (byte[] b,
int off,
int len)
현재의 파일 포인터의 위치로부터 개시해 정확하게 len 바이트를 이 파일로부터 바이트 배열안에 읽어냅니다. |
int |
readInt ()
이 파일로부터 서명 첨부 32 비트 정수 문자를 읽어냅니다. |
String |
readLine ()
이 파일의 텍스트의 다음의 행을 읽어냅니다. |
long |
readLong ()
이 파일로부터 서명 첨부 64 비트 정수 문자를 읽어냅니다. |
short |
readShort ()
이 파일로부터 서명 첨부 16 비트수를 읽어냅니다. |
int |
readUnsignedByte ()
이 파일로부터 부호 없음 8 비트수를 읽어냅니다. |
int |
readUnsignedShort ()
이 파일로부터 부호 없음 16 비트수를 읽어냅니다. |
String |
readUTF ()
이 파일로부터 캐릭터 라인을 읽어냅니다. |
void |
seek (long pos)
다음의 읽어내 또는 기입이 발생하는, 파일의 선두로부터 측정한 파일 포인터 오프셋(offset)를 설정합니다. |
void |
setLength (long newLength)
이 파일의 길이를 설정합니다. |
int |
skipBytes (int n)
입력의 n 바이트를 스킵 해, 스킵 한 바이트를 파기하려고 합니다. |
void |
write (byte[] b)
현재의 파일 포인터의 위치로부터 개시해, 지정된 바이트 배열로부터 b.length 바이트를 이 파일에 기입합니다. |
void |
write (byte[] b,
int off,
int len)
오프셋(offset) off 의 위치로부터 개시해, 지정된 바이트 배열로부터 len 바이트를 이 파일에 기입합니다. |
void |
write (int b)
이 파일로 지정된 바이트를 기입합니다. |
void |
writeBoolean (boolean v)
1 바이트치로서 boolean 를 파일에 기입합니다. |
void |
writeByte (int v)
byte 를 1 바이트치로서 이 파일에 기입합니다. |
void |
writeBytes (String s)
캐릭터 라인을 바이트의 순서로서 파일에 기입합니다. |
void |
writeChar (int v)
char 를 2 바이트치로서 고위 바이트를 먼저 파일에 기입합니다. |
void |
writeChars (String s)
캐릭터 라인을 문자의 순서로서 파일에 기입합니다. |
void |
writeDouble (double v)
Double 클래스의 doubleToLongBits 메소드를 사용해, double 인수를 long 로 변환합니다. |
void |
writeFloat (float v)
Float 클래스의 floatToIntBits 메소드를 사용해, float 인수를 int 로 변환합니다. |
void |
writeInt (int v)
int 를 4 바이트로서 고위 바이트를 먼저 파일에 기입합니다. |
void |
writeLong (long v)
long 를 8 바이트로서 고위 바이트를 먼저 파일에 기입합니다. |
void |
writeShort (int v)
short 를 2 바이트치로서 고위 바이트를 먼저 파일에 기입합니다. |
void |
writeUTF (String str)
수정 UTF-8 인코딩을 사용해, 머신에 의존하는 방식으로 캐릭터 라인을 파일에 기입합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public RandomAccessFile(String name, String mode) throws FileNotFoundException
FileDescriptor
객체가 새롭게 작성됩니다.
mode 인수에는, 파일을 열 때의 액세스 모드를 지정합니다. 지정할 수 있는 값과 그러한 의미는,RandomAccessFile(File, String) 생성자 의 지정과 같습니다.
시큐리티 매니저가 존재하는 경우는, 파일의 읽기 액세스가 허가될지 어떨지를 확인하기 위해서,name
를 인수로서 checkRead
메소드가 불려 갑니다. 또, 기입을 허가하는 모드의 경우는, 파일에의 기입해 액세스가 허가되고 있는지 어떤지를 확인하기 위해서,name
를 인수로서 시큐리티 매니저의 checkWrite
메소드가 불려 갑니다.
name
- 시스템에 의존하는 파일명mode
- 액세스모드
IllegalArgumentException
- mode 인수가 "r","rw","rws", 또는 "rwd" 가 아닌 경우
FileNotFoundException
- 모드가 "r" 이지만, 지정된 캐릭터 라인이 기존의 일반적으로 파일을 나타내지 않는 경우, 모드가 "rw" 로 시작되지만, 지정된 캐릭터 라인이 기존의 기입해 가능한 일반적으로 파일을 나타내지 않고, 그 이름의 일반적으로 파일을 새롭게 작성할 수 없는 경우, 파일의 오픈 또는 작성중에 그 외의 에러가 발생했을 경우
SecurityException
- 시큐리티 매니저가 존재해,checkRead
메소드가 파일의 읽기 액세스를 거부했을 경우, 또는 모드가 "rw" 로 시큐리티 매니저의 checkWrite
메소드가 파일에의 기입해 액세스를 거부했을 경우SecurityException
,
SecurityManager.checkRead(java.lang.String)
,
SecurityManager.checkWrite(java.lang.String)
public RandomAccessFile(File file, String mode) throws FileNotFoundException
File
인수로 지정된 파일로부터의 읽어들여, 및 옵션으로 기입을 행하기 위한 랜덤 억세스 파일 스트림을 작성합니다. 이 파일 접속을 나타내는 FileDescriptor
객체가 새롭게 작성됩니다.
mode 인수에는, 파일을 열 때의 액세스 모드를 지정합니다. 지정할 수 있는 값과 그 의미를 다음에 나타냅니다.
"rws" 모드 및 "rwd" 모드의 동작은,
값
의미
"r" 읽기 전용으로 열립니다. 연 객체의 임의의 write 메소드를 호출하면(자), IOException
가 throw 됩니다."rw" 읽기 및 기입해용으로 엽니다. 파일이 존재하지 않는 경우는, 그 작성이 시도됩니다. "rws" "rw" 와 같게, read 및 기입해용으로 엽니다. 파일의 내용 또는 메타데이타를 갱신했을 때는, 기본이 되는 기억장치에도 동시에 기입할 필요가 있습니다. "rwd" "rw" 와 같게, read 및 기입해용으로 엽니다. 파일의 내용을 갱신했을 때는, 바탕으로 되는 기억장치에도 동시에 적용할 필요가 있습니다.
FileChannel
클래스의 force(boolean)
메소드에 각각 true 및 false 의 인수를 건네주었을 경우를 닮아 있습니다. 다만, 이러한 모드는 모든 입출력 처리에 적용되기 (위해)때문에, 보다 효율적입니다. 파일이 로컬 기억장치에 있는 경우는, 이 클래스의 메소드를 호출했을 때에, 이 호출에 의해 파일에 적용된 변경이, 그 기억장치에도 항상 기입해집니다. 이 방법에 의해, 시스템이 크래쉬 했을 때, 중요한 정보를 손실로부터 보호할 수 있습니다. 한편, 파일이 로컬의 기억장치상에 없는 경우, 기입은 행해지지 않습니다.
"rwd" 모드는, 실행되는 입출력 처리의 수를 줄이기 위해서(때문에) 사용할 수 있습니다. "rwd" 를 사용했을 경우는, 파일의 내용에의 갱신만이 기억장치에 기입해집니다. "rws" 를 사용했을 경우는, 파일의 내용과 메타데이타의 양쪽 모두에의 갱신을 기입할 필요가 있습니다. 이것에는, 일반적으로 하위 레벨의 입출력 처리가 1 회 이상 많이 필요합니다.
시큐리티 매니저가 존재하는 경우는, 파일의 읽기 액세스가 허가될지 어떨지를 확인하기 위해서,file
를 경로명의 인수로서 checkRead
메소드가 불려 갑니다. 또, 기입을 허가하는 모드의 경우는, 파일에의 기입해 액세스가 허가되고 있는지 어떤지를 확인하기 위해서, 패스를 인수로서 시큐리티 매니저의 checkWrite
메소드가 불려 갑니다.
file
- 파일 객체mode
- 액세스 모드. 전술의 설명을 참조
IllegalArgumentException
- mode 인수가 "r","rw","rws", 또는 "rwd" 가 아닌 경우
FileNotFoundException
- 모드가 "r" 이지만, 지정된 파일 객체가 기존의 일반적으로 파일을 나타내지 않는 경우, 모드가 "rw" 로 시작되지만, 지정된 파일 객체가 기존의 기입해 가능한 일반적으로 파일을 나타내지 않고, 그 이름의 일반적으로 파일을 새롭게 작성할 수 없는 경우, 파일의 오픈 또는 작성중에 그 외의 에러가 발생했을 경우
SecurityException
- 시큐리티 매니저가 존재해,checkRead
메소드가 파일의 읽기 액세스를 거부했을 경우, 또는 모드가 "rw" 로 시큐리티 매니저의 checkWrite
메소드가 파일에의 기입해 액세스를 거부했을 경우SecurityManager.checkRead(java.lang.String)
,
SecurityManager.checkWrite(java.lang.String)
,
FileChannel.force(boolean)
메소드의 상세 |
---|
public final FileDescriptor getFD() throws IOException
IOException
- 입출력 에러가 발생했을 경우FileDescriptor
public final FileChannel getChannel()
FileChannel
객체를 돌려줍니다.
반환된 채널의 java.nio.channels.FileChannel#position()
position 의 초기치는,
getFilePointer
메소드에 의해 반환되는 이 객체의 파일 포인터 오프셋(offset)와 항상 동일해집니다. 이 객체의 파일 포인터 오프셋(offset)를 명시적으로 또는 바이트의 읽고 쓰기에 의해 변경하면(자), 채널의 위치도 변경됩니다. 그 역의 경우도 같습니다. 이 객체를 통해서 파일의 길이를 변경하면(자), 파일 채널을 통해서 보이는 길이도 변경됩니다. 그 역의 경우도 같습니다.
public int read() throws IOException
0x00-0x0ff
)의 범위의 정수로서 돌려주어집니다. 입력이 아직 이용할 수 없는 경우, 이 메소드는 블록 됩니다.
RandomAccessFile
는,InputStream
의 서브 클래스가 아닙니다만, 이 메소드는 InputStream
의 InputStream.read()
메소드와 완전히와 같이 동작합니다.
-1
IOException
- 입출력 에러가 발생했을 경우 end-of-file 에 도달했을 경우는 throw 되지 않는다public int read(byte[] b, int off, int len) throws IOException
len
바이트의 데이터를 바이트의 배열안에 읽어냅니다. 이 메소드는, 적어도 1 바이트의 입력을 이용할 수 있을 때까지 블록 됩니다.
RandomAccessFile
는,InputStream
의 서브 클래스가 아닙니다만, 이 메소드는 InputStream
의 InputStream.read(byte[], int, int)
메소드와 완전히와 같이 동작합니다.
b
- 데이터의 read처의 버퍼off
- 데이터가 기입해지는 배열 b
의 개시 오프셋(offset)len
- 읽히는 최대 바이트수
-1
IOException
- 파일의 마지막에 이르고 있는 것 이외의 이유로써 최초의 바이트를 읽어들일 수 없는 경우, 랜덤 억세스 파일이 닫혀졌을 경우, 또는 그 외의 입출력 에러가 발생했을 경우
NullPointerException
- b
가 null
의 경우
IndexOutOfBoundsException
- off
가 부의 경우,len
가 부의 경우, 또는 len
가 b.length - off
보다 큰 경우public int read(byte[] b) throws IOException
b.length
바이트의 데이터를 바이트의 배열안에 읽어냅니다. 이 메소드는, 적어도 1 바이트의 입력을 이용할 수 있을 때까지 블록 됩니다.
RandomAccessFile
는,InputStream
의 서브 클래스가 아닙니다만, 이 메소드는 InputStream
의 InputStream.read(byte[])
메소드와 완전히와 같이 동작합니다.
b
- 데이터의 read처의 버퍼
-1
IOException
- 파일의 마지막에 이르고 있는 것 이외의 이유로써 최초의 바이트를 읽어들일 수 없는 경우, 랜덤 억세스 파일이 닫혀졌을 경우, 또는 그 외의 입출력 에러가 발생했을 경우
NullPointerException
- b
가 null
의 경우public final void readFully(byte[] b) throws IOException
b.length
바이트를 이 파일로부터 바이트 배열안에 읽어냅니다. 이 메소드는, 요구된 바이트수가 읽어내질 때까지 파일로부터 반복해 읽어냅니다. 이 메소드는, 요구된 바이트수가 읽어내질 때까지, 스트림의 마지막이 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readFully
b
- 데이터의 read처의 버퍼
EOFException
- 모든 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우public final void readFully(byte[] b, int off, int len) throws IOException
len
바이트를 이 파일로부터 바이트 배열안에 읽어냅니다. 이 메소드는, 요구된 바이트수가 읽어내질 때까지 파일로부터 반복해 읽어냅니다. 이 메소드는, 요구된 바이트수가 읽어내질 때까지, 스트림의 마지막이 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readFully
b
- 데이터의 read처의 버퍼off
- 데이터의 개시 오프셋(offset)len
- 읽어들이는 바이트수
EOFException
- 모든 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우public int skipBytes(int n) throws IOException
n
바이트를 스킵 해, 스킵 한 바이트를 파기하려고 합니다.
이 메소드는, 일부의 소수의 바이트 (0 바이트나 가능)를 스킵 할 수 있습니다. 이 스킵은 복수의 조건에 기인할 가능성이 있습니다만, 생각되는 유일한 경우는,n
바이트가 스킵 되기 전에 파일의 마지막에 이르렀을 경우입니다. 이 메소드는,EOFException
를 throw 할 것은 없습니다. 스킵 된 실제의 바이트수가 돌려주어집니다. n
가 부의 경우, 바이트는 스킵 되지 않습니다.
DataInput
내의 skipBytes
n
- 스킵 하는 바이트수
IOException
- 입출력 에러가 발생했을 경우public void write(int b) throws IOException
DataOutput
내의 write
b
- 기입해지는 byte
IOException
- 입출력 에러가 발생했을 경우public void write(byte[] b) throws IOException
b.length
바이트를 이 파일에 기입합니다.
DataOutput
내의 write
b
- 데이터
IOException
- 입출력 에러가 발생했을 경우public void write(byte[] b, int off, int len) throws IOException
off
의 위치로부터 개시해, 지정된 바이트 배열로부터 len
바이트를 이 파일에 기입합니다.
DataOutput
내의 write
b
- 데이터off
- 데이터의 개시 오프셋(offset)len
- 기입하는 바이트수
IOException
- 입출력 에러가 발생했을 경우public long getFilePointer() throws IOException
IOException
- 입출력 에러가 발생했을 경우public void seek(long pos) throws IOException
pos
- 파일의 선두를 시점으로 한, 바이트 단위의 오프셋(offset) 위치. 이 정도치에 파일 포인터가 설정된다
IOException
- pos
가 0
보다 작은 경우, 혹은 입출력 에러가 발생했을 경우public long length() throws IOException
IOException
- 입출력 에러가 발생했을 경우public void setLength(long newLength) throws IOException
length
메소드에 의해 반환된 파일의 현재의 길이가,newLength
인수보다 큰 경우, 파일은 절약할 수 있습니다. 이 경우,getFilePointer
메소드에 의해 반환된 파일 오프셋(offset)가 newLength
보다 큰 경우, 이 메소드가 돌려준 뒤의 오프셋(offset)는 newLength
와 같게 됩니다.
length
에 의해 반환된 파일의 현재의 길이가 newLength
인수보다 작은 경우, 파일은 확장됩니다. 이 경우, 파일의 확장 부분의 내용은 정의되고 있지 않습니다.
newLength
- 파일의 필요한 길이
IOException
- 입출력 에러가 발생했을 경우public void close() throws IOException
이 파일에 관련지을 수 있고 있는 채널이 있는 경우는, 그 채널도 닫습니다.
Closeable
내의 close
IOException
- 입출력 에러가 발생했을 경우public final boolean readBoolean() throws IOException
boolean
를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해, 단일 바이트를 파일로부터 읽어냅니다. 0
의 값은 false
를 나타냅니다. 다른 값은 true
를 나타냅니다. 이 메소드는, 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readBoolean
boolean
치
EOFException
- 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우public final byte readByte() throws IOException
b
이며,0 <= b <= 255
의 경우, 결과는 다음과 같습니다.
(byte)(b)
이 메소드는, 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readByte
byte
로서 해석되는 이 파일의 다음의 바이트
EOFException
- 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우public final int readUnsignedByte() throws IOException
이 메소드는, 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readUnsignedByte
EOFException
- 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우public final short readShort() throws IOException
b1
와 b2
이며, 2 개의 값이 각각 0
이상 255
이하의 경우, 결과는 다음과 같습니다.
(short)((b1 << 8) | b2)
이 메소드는, 2 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readShort
EOFException
- 2 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우public final int readUnsignedShort() throws IOException
b1
와 b2
이며,0 <= b1, b2 <= 255
의 경우, 결과는 다음과 같습니다.
(b1 << 8) | b2
이 메소드는, 2 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readUnsignedShort
EOFException
- 2 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우public final char readChar() throws IOException
b1
와 b2
이며,0 <= b1, b2 <= 255
의 경우, 결과는 다음과 같습니다.
(char)((b1 << 8) | b2)
이 메소드는, 2 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readChar
char
로서 해석되는 이 파일의 다음의 2 바이트
EOFException
- 2 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우public final int readInt() throws IOException
b1
,b2
,b3
, 및 b4
이며,0 <= b1, b2, b3, b4 <= 255
의 경우, 결과는 다음과 같습니다.
(b1 << 24) | (b2 << 16) + (b3 << 8) + b4
이 메소드는, 4 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readInt
int
로서 해석되는 이 파일의 다음의 4 바이트
EOFException
- 4 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우public final long readLong() throws IOException
b1
,b2
,b3
,b4
,b5
,b6
,b7
, 및 b8
이며, 다음의 조건의 경우,
0 <= b1, b2, b3, b4, b5, b6, b7, b8 <=255,
결과는 이하와 같게 됩니다.
((long) b1 << 56) + ((long) b2 << 48) + ((long) b3 << 40) + ((long) b4 << 32) + ((long) b5 << 24) + ((long) b6 << 16) + ((long) b7 << 8) + b8
이 메소드는, 8 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readLong
long
로서 해석되는 이 파일의 다음의 8 바이트
EOFException
- 8 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우public final float readFloat() throws IOException
float
를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해,readInt
메소드를 사용했을 경우와 같이 파일로부터 int
치를 읽어내, 읽어낸 int
를 Float
클래스의 intBitsToFloat
메소드를 사용해 float
로 합니다. 이 메소드는, 4 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readFloat
float
로서 해석되는 이 파일의 다음의 4 바이트
EOFException
- 4 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우readInt()
,
Float.intBitsToFloat(int)
public final double readDouble() throws IOException
double
를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해,readLong
메소드를 사용했을 경우와 같이 파일로부터 long
치를 읽어내, 읽어낸 long
를 Double
클래스의 longBitsToDouble
메소드를 사용해 double
로 변환합니다. 이 메소드는, 8 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readDouble
double
로서 해석되는 이 파일의 다음의 8 바이트
EOFException
- 8 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우readLong()
,
Double.longBitsToDouble(long)
public final String readLine() throws IOException
텍스트행은, 왕복대 리턴 문자 ('\r'
), 개행 문자 ('\n'
), 왕복대 리턴 문자와 거기에 계속되는 개행 문자, 또는 파일의 마지막으로 종료합니다. 줄 끝 문자는 파기되어 반환된 캐릭터 라인의 부분에 포함되지 않습니다.
이 메소드는, 개행 문자가 읽어내질 때까지, 왕복대 리턴과 거기에 계속되는 바이트가 읽어내질 때까지 (개행인가 어떤가를 판정하기 위해(때문에)), 파일의 마지막에 이를 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readLine
IOException
- 입출력 에러가 발생했을 경우public final String readUTF() throws IOException
현재의 파일 포인터로부터 개시해,readUnsignedShort
를 사용했을 경우와 같이 최초의 2 바이트를 읽어냅니다. 이 값은, 결과적으로 얻을 수 있는 캐릭터 라인의 길이는 아니고, encode 된 캐릭터 라인에 있는 후속의 바이트수를 제공합니다. 후속의 바이트는, 수정 UTF-8 형식의 바이트 인코딩 문자로서 해석되어 문자에 변환됩니다.
이 메소드는, 모든 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.
DataInput
내의 readUTF
EOFException
- 모든 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException
- 입출력 에러가 발생했을 경우
UTFDataFormatException
- 바이트가 유효한 수정 UTF-8 인코딩의 Unicode 캐릭터 라인을 나타내지 않는 경우readUnsignedShort()
public final void writeBoolean(boolean v) throws IOException
boolean
를 파일에 기입합니다. 값 true
는, 값 (byte) 1
으로서 기입해져 값 false
는 값 (byte) 0
으로서 기입해집니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.
DataOutput
내의 writeBoolean
v
- 기입해지는 boolean
치
IOException
- 입출력 에러가 발생했을 경우public final void writeByte(int v) throws IOException
byte
를 1 바이트치로서 이 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.
DataOutput
내의 writeByte
v
- 기입해지는 byte
치
IOException
- 입출력 에러가 발생했을 경우public final void writeShort(int v) throws IOException
short
를 2 바이트치로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.
DataOutput
내의 writeShort
v
- 기입해지는 short
치
IOException
- 입출력 에러가 발생했을 경우public final void writeChar(int v) throws IOException
char
를 2 바이트치로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.
DataOutput
내의 writeChar
v
- 기입해지는 char
치
IOException
- 입출력 에러가 발생했을 경우public final void writeInt(int v) throws IOException
int
를 4 바이트로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.
DataOutput
내의 writeInt
v
- 기입해지는 int
치
IOException
- 입출력 에러가 발생했을 경우public final void writeLong(long v) throws IOException
long
를 8 바이트로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.
DataOutput
내의 writeLong
v
- 기입해지는 long
치
IOException
- 입출력 에러가 발생했을 경우public final void writeFloat(float v) throws IOException
Float
클래스의 floatToIntBits
메소드를 사용해, float 인수를 int
로 변환합니다. 다음에, 변환된 int
치를 4 바이트의 양으로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.
DataOutput
내의 writeFloat
v
- 기입해지는 float
치
IOException
- 입출력 에러가 발생했을 경우Float.floatToIntBits(float)
public final void writeDouble(double v) throws IOException
Double
클래스의 doubleToLongBits
메소드를 사용해, double 인수를 long
로 변환합니다. 다음에, 변환된 long
치를 8 바이트의 양으로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.
DataOutput
내의 writeDouble
v
- 기입해지는 double
치
IOException
- 입출력 에러가 발생했을 경우Double.doubleToLongBits(double)
public final void writeBytes(String s) throws IOException
DataOutput
내의 writeBytes
s
- 기입해지는 바이트의 캐릭터 라인
IOException
- 입출력 에러가 발생했을 경우public final void writeChars(String s) throws IOException
writeChar
메소드를 사용했을 경우와 같이, 데이터 출력 스트림에 기입해집니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.
DataOutput
내의 writeChars
s
- 기입해지는 String
치
IOException
- 입출력 에러가 발생했을 경우writeChar(int)
public final void writeUTF(String str) throws IOException
우선, 현재의 파일 포인터로부터 개시해, 후속의 바이트수를 지정하는 writeShort
메소드를 사용했을 경우와 같이, 2 바이트가 파일에 기입해집니다. 이 값은, 실제로 기입해지는 바이트수이며, 캐릭터 라인의 길이가 아닙니다. 길이에 이어, 각 문자에 수정 UTF-8 인코딩을 사용해, 캐릭터 라인의 각 문자가 순서에 출력됩니다.
DataOutput
내의 writeUTF
str
- 기입해지는 캐릭터 라인
IOException
- 입출력 에러가 발생했을 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.