JavaTM Platform
Standard Ed. 6

java.io
클래스 RandomAccessFile

java.lang.Object 
  상위를 확장 java.io.RandomAccessFile
모든 구현된 인터페이스:
Closeable , DataInput , DataOutput


public class RandomAccessFile
extends Object
implements DataOutput , DataInput , Closeable

이 클래스의 인스턴스는, 랜덤 억세스 파일에 대한 읽기와 기입의 양쪽 모두를 지원합니다. 랜덤 억세스 파일의 동작은, 파일 시스템에 포함된 대규모 바이트 배열의 동작을 닮아 있습니다. 또, 파일 포인터로 불리는 어떤 종류의 커서, 즉 암시 배열내에의 인덱스가 있어, 입력 조작에서는 파일 포인터의 위치에서 바이트의 읽기를 개시해, 읽어낸 바이트를 넘어 파일 포인터를 진행시킵니다. 랜덤 억세스 파일이 읽어내/기입 모드로 생성되었을 경우, 출력 조작도 이용 가능하게 됩니다. 출력 조작에서는, 파일 포인터의 위치에서 바이트의 기입을 개시해, 기입해진 바이트를 넘어 파일 포인터를 진행시킵니다. 현재의 암묵의 배열의 마지막을 넘는 출력 조작에서는, 배열의 확장이 발생합니다. 파일 포인터는 getFilePointer 메소드에 의해 읽어낼 수가 있어seek 메소드에 의해 설정할 수 있습니다.  

필요한 바이트수를 읽어내기 전에 end-of-file 에 도달했을 경우,IOException 의 일종인 EOFException 가 throw 됩니다만, 이것은 이 클래스의 모든 읽기 루틴에 들어맞읍니다. end-of-file 이외의 하등의 이유에 의해 바이트를 읽어낼 수가 없는 경우,EOFException 이외의 IOException 가 throw 됩니다. 특히, 스트림이 닫혀졌을 경우는,IOException 가 throw 될 가능성이 있습니다.

도입된 버젼:
JDK1. 0

생성자 의 개요
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
 

생성자 의 상세

RandomAccessFile

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)

RandomAccessFile

public RandomAccessFile(File  file,
                        String  mode)
                 throws FileNotFoundException 
File 인수로 지정된 파일로부터의 읽어들여, 및 옵션으로 기입을 행하기 위한 랜덤 억세스 파일 스트림을 작성합니다. 이 파일 접속을 나타내는 FileDescriptor 객체가 새롭게 작성됩니다.

mode 인수에는, 파일을 열 때의 액세스 모드를 지정합니다. 지정할 수 있는 값과 그 의미를 다음에 나타냅니다.

의미

"r" 읽기 전용으로 열립니다. 연 객체의 임의의 write 메소드를 호출하면(자),IOException 가 throw 됩니다.
"rw" 읽기 및 기입해용으로 엽니다. 파일이 존재하지 않는 경우는, 그 작성이 시도됩니다.
"rws" "rw" 와 같게, read 및 기입해용으로 엽니다. 파일의 내용 또는 메타데이타를 갱신했을 때는, 기본이 되는 기억장치에도 동시에 기입할 필요가 있습니다.
"rwd"   "rw" 와 같게, read 및 기입해용으로 엽니다. 파일의 내용을 갱신했을 때는, 바탕으로 되는 기억장치에도 동시에 적용할 필요가 있습니다.
"rws" 모드 및 "rwd" 모드의 동작은,
FileChannel 클래스의 force(boolean) 메소드에 각각 truefalse 의 인수를 건네주었을 경우를 닮아 있습니다. 다만, 이러한 모드는 모든 입출력 처리에 적용되기 (위해)때문에, 보다 효율적입니다. 파일이 로컬 기억장치에 있는 경우는, 이 클래스의 메소드를 호출했을 때에, 이 호출에 의해 파일에 적용된 변경이, 그 기억장치에도 항상 기입해집니다. 이 방법에 의해, 시스템이 크래쉬 했을 때, 중요한 정보를 손실로부터 보호할 수 있습니다. 한편, 파일이 로컬의 기억장치상에 없는 경우, 기입은 행해지지 않습니다.

"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)
메소드의 상세

getFD

public final FileDescriptor  getFD()
                           throws IOException 
이 스트림에 관련하는 불투명한 파일 기술자를 돌려줍니다.

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

getChannel

public final FileChannel  getChannel()
이 파일에 관련지을 수 있던, 일의 FileChannel 객체를 돌려줍니다.

반환된 채널의 java.nio.channels.FileChannel#position()position 의 초기치는,getFilePointer 메소드에 의해 반환되는 이 객체의 파일 포인터 오프셋(offset)와 항상 동일해집니다. 이 객체의 파일 포인터 오프셋(offset)를 명시적으로 또는 바이트의 읽고 쓰기에 의해 변경하면(자), 채널의 위치도 변경됩니다. 그 역의 경우도 같습니다. 이 객체를 통해서 파일의 길이를 변경하면(자), 파일 채널을 통해서 보이는 길이도 변경됩니다. 그 역의 경우도 같습니다.

반환값:
이 파일과 관련지을 수 있었던 파일 채널
도입된 버젼:
1.4

read

public int read()
         throws IOException 
이 파일로부터 데이터의 바이트를 읽어냅니다. 바이트는, 0 ~ 255 (0x00-0x0ff)의 범위의 정수로서 돌려주어집니다. 입력이 아직 이용할 수 없는 경우, 이 메소드는 블록 됩니다.  

RandomAccessFile 는,InputStream 의 서브 클래스가 아닙니다만, 이 메소드는 InputStreamInputStream.read() 메소드와 완전히와 같이 동작합니다.

반환값:
데이터의 다음의 바이트, 파일의 끝나에 도달했을 경우는 -1
예외:
IOException - 입출력 에러가 발생했을 경우 end-of-file 에 도달했을 경우는 throw 되지 않는다

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException 
이 파일로부터 최대 len 바이트의 데이터를 바이트의 배열안에 읽어냅니다. 이 메소드는, 적어도 1 바이트의 입력을 이용할 수 있을 때까지 블록 됩니다.  

RandomAccessFile 는,InputStream 의 서브 클래스가 아닙니다만, 이 메소드는 InputStreamInputStream.read(byte[], int, int) 메소드와 완전히와 같이 동작합니다.

파라미터:
b - 데이터의 read처의 버퍼
off - 데이터가 기입해지는 배열 b 의 개시 오프셋(offset)
len - 읽히는 최대 바이트수
반환값:
버퍼에 읽힌 바이트의 합계수. 또는, 파일의 마지막에 이르렀기 때문에 그 이상 데이터가 존재하지 않는 경우는 -1
예외:
IOException - 파일의 마지막에 이르고 있는 것 이외의 이유로써 최초의 바이트를 읽어들일 수 없는 경우, 랜덤 억세스 파일이 닫혀졌을 경우, 또는 그 외의 입출력 에러가 발생했을 경우
NullPointerException - bnull 의 경우
IndexOutOfBoundsException - off 가 부의 경우,len 가 부의 경우, 또는 lenb.length - off 보다 큰 경우

read

public int read(byte[] b)
         throws IOException 
이 파일로부터 최대 b.length 바이트의 데이터를 바이트의 배열안에 읽어냅니다. 이 메소드는, 적어도 1 바이트의 입력을 이용할 수 있을 때까지 블록 됩니다.  

RandomAccessFile 는,InputStream 의 서브 클래스가 아닙니다만, 이 메소드는 InputStreamInputStream.read(byte[]) 메소드와 완전히와 같이 동작합니다.

파라미터:
b - 데이터의 read처의 버퍼
반환값:
버퍼안에 읽어내진 바이트의 합계수, 이 파일의 마지막에 이르렀기 때문에 데이터가 없는 경우는 -1
예외:
IOException - 파일의 마지막에 이르고 있는 것 이외의 이유로써 최초의 바이트를 읽어들일 수 없는 경우, 랜덤 억세스 파일이 닫혀졌을 경우, 또는 그 외의 입출력 에러가 발생했을 경우
NullPointerException - bnull 의 경우

readFully

public final void readFully(byte[] b)
                     throws IOException 
현재의 파일 포인터의 위치로부터 개시해 b.length 바이트를 이 파일로부터 바이트 배열안에 읽어냅니다. 이 메소드는, 요구된 바이트수가 읽어내질 때까지 파일로부터 반복해 읽어냅니다. 이 메소드는, 요구된 바이트수가 읽어내질 때까지, 스트림의 마지막이 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readFully
파라미터:
b - 데이터의 read처의 버퍼
예외:
EOFException - 모든 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException - 입출력 에러가 발생했을 경우

readFully

public final void readFully(byte[] b,
                            int off,
                            int len)
                     throws IOException 
현재의 파일 포인터의 위치로부터 개시해 정확하게 len 바이트를 이 파일로부터 바이트 배열안에 읽어냅니다. 이 메소드는, 요구된 바이트수가 읽어내질 때까지 파일로부터 반복해 읽어냅니다. 이 메소드는, 요구된 바이트수가 읽어내질 때까지, 스트림의 마지막이 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readFully
파라미터:
b - 데이터의 read처의 버퍼
off - 데이터의 개시 오프셋(offset)
len - 읽어들이는 바이트수
예외:
EOFException - 모든 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException - 입출력 에러가 발생했을 경우

skipBytes

public int skipBytes(int n)
              throws IOException 
입력의 n 바이트를 스킵 해, 스킵 한 바이트를 파기하려고 합니다.  

이 메소드는, 일부의 소수의 바이트 (0 바이트나 가능)를 스킵 할 수 있습니다. 이 스킵은 복수의 조건에 기인할 가능성이 있습니다만, 생각되는 유일한 경우는,n 바이트가 스킵 되기 전에 파일의 마지막에 이르렀을 경우입니다. 이 메소드는,EOFException 를 throw 할 것은 없습니다. 스킵 된 실제의 바이트수가 돌려주어집니다. n 가 부의 경우, 바이트는 스킵 되지 않습니다.

정의:
인터페이스 DataInput 내의 skipBytes
파라미터:
n - 스킵 하는 바이트수
반환값:
스킵 된 실제의 바이트수
예외:
IOException - 입출력 에러가 발생했을 경우

write

public void write(int b)
           throws IOException 
이 파일로 지정된 바이트를 기입합니다. 기입은, 현재의 파일 포인터의 위치에서 시작됩니다.

정의:
인터페이스 DataOutput 내의 write
파라미터:
b - 기입해지는 byte
예외:
IOException - 입출력 에러가 발생했을 경우

write

public void write(byte[] b)
           throws IOException 
현재의 파일 포인터의 위치로부터 개시해, 지정된 바이트 배열로부터 b.length 바이트를 이 파일에 기입합니다.

정의:
인터페이스 DataOutput 내의 write
파라미터:
b - 데이터
예외:
IOException - 입출력 에러가 발생했을 경우

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException 
오프셋(offset) off 의 위치로부터 개시해, 지정된 바이트 배열로부터 len 바이트를 이 파일에 기입합니다.

정의:
인터페이스 DataOutput 내의 write
파라미터:
b - 데이터
off - 데이터의 개시 오프셋(offset)
len - 기입하는 바이트수
예외:
IOException - 입출력 에러가 발생했을 경우

getFilePointer

public long getFilePointer()
                    throws IOException 
이 파일의 현재의 오프셋(offset)를 돌려줍니다.

반환값:
다음의 읽어내 또는 기입이 발생하는 위치의 파일의 선두로부터의 오프셋(offset) (바이트 단위)
예외:
IOException - 입출력 에러가 발생했을 경우

seek

public void seek(long pos)
          throws IOException 
다음의 읽어내 또는 기입이 발생하는, 파일의 선두로부터 측정한 파일 포인터 오프셋(offset)를 설정합니다. 오프셋(offset)는, 파일의 마지막을 넘어 설정할 수 있습니다. 파일의 마지막을 넘어 오프셋(offset)를 설정해도 파일장은 바뀌지 않습니다. 파일장은, 파일의 마지막을 넘어 오프셋(offset)가 설정된 뒤에 기입해졌을 경우만 바뀝니다.

파라미터:
pos - 파일의 선두를 시점으로 한, 바이트 단위의 오프셋(offset) 위치. 이 정도치에 파일 포인터가 설정된다
예외:
IOException - pos0 보다 작은 경우, 혹은 입출력 에러가 발생했을 경우

length

public long length()
            throws IOException 
이 파일의 길이를 돌려줍니다.

반환값:
이 파일의 길이 (바이트 단위로 측정)
예외:
IOException - 입출력 에러가 발생했을 경우

setLength

public void setLength(long newLength)
               throws IOException 
이 파일의 길이를 설정합니다.

length 메소드에 의해 반환된 파일의 현재의 길이가,newLength 인수보다 큰 경우, 파일은 절약할 수 있습니다. 이 경우,getFilePointer 메소드에 의해 반환된 파일 오프셋(offset)가 newLength 보다 큰 경우, 이 메소드가 돌려준 뒤의 오프셋(offset)는 newLength 와 같게 됩니다.

length 에 의해 반환된 파일의 현재의 길이가 newLength 인수보다 작은 경우, 파일은 확장됩니다. 이 경우, 파일의 확장 부분의 내용은 정의되고 있지 않습니다.

파라미터:
newLength - 파일의 필요한 길이
예외:
IOException - 입출력 에러가 발생했을 경우
도입된 버젼:
1.2

close

public void close()
           throws IOException 
이 랜덤 억세스 파일 스트림을 닫아, 스트림에 관련지을 수 있었던 system resource를 해제합니다. 닫혀진 랜덤 억세스 파일에서는 입출력 조작을 실행할 수 없습니다.

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

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

readBoolean

public final boolean readBoolean()
                          throws IOException 
이 파일로부터 boolean 를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해, 단일 바이트를 파일로부터 읽어냅니다. 0 의 값은 false 를 나타냅니다. 다른 값은 true 를 나타냅니다. 이 메소드는, 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readBoolean
반환값:
읽어내진 boolean
예외:
EOFException - 이 파일의 마지막에 이르렀을 경우
IOException - 입출력 에러가 발생했을 경우

readByte

public final byte readByte()
                    throws IOException 
이 파일로부터 서명 첨부 8 비트치를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해, 파일로부터 바이트를 읽어냅니다. 읽어내진 바이트가 b 이며,0 <= b <= 255 의 경우, 결과는 다음과 같습니다.
     (byte)(b)
 

이 메소드는, 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readByte
반환값:
서명 첨부 8 비트 byte 로서 해석되는 이 파일의 다음의 바이트
예외:
EOFException - 이 파일의 마지막에 이르렀을 경우
IOException - 입출력 에러가 발생했을 경우

readUnsignedByte

public final int readUnsignedByte()
                           throws IOException 
이 파일로부터 부호 없음 8 비트수를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해, 파일로부터 바이트를 읽어냅니다.  

이 메소드는, 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readUnsignedByte
반환값:
부호 없음 8 비트 수라고 해 해석되는 이 파일의 다음의 바이트
예외:
EOFException - 이 파일의 마지막에 이르렀을 경우
IOException - 입출력 에러가 발생했을 경우

readShort

public final short readShort()
                      throws IOException 
이 파일로부터 서명 첨부 16 비트수를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해, 파일로부터 2 바이트를 읽어냅니다. 읽어내진 2 바이트가 순서에 b1b2 이며, 2 개의 값이 각각 0 이상 255 이하의 경우, 결과는 다음과 같습니다.
     (short)((b1 << 8) | b2)
 

이 메소드는, 2 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readShort
반환값:
서명 첨부 16 비트 수라고 해 해석되는 이 파일의 다음의 2 바이트
예외:
EOFException - 2 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException - 입출력 에러가 발생했을 경우

readUnsignedShort

public final int readUnsignedShort()
                            throws IOException 
이 파일로부터 부호 없음 16 비트수를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해, 파일로부터 2 바이트를 읽어냅니다. 읽어내진 2 바이트가 순서에 b1b2 이며,0 <= b1, b2 <= 255 의 경우, 결과는 다음과 같습니다.
     (b1 << 8) | b2
 

이 메소드는, 2 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readUnsignedShort
반환값:
부호 없음 16 비트 정수로서 해석되는 이 파일의 다음의 2 바이트
예외:
EOFException - 2 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException - 입출력 에러가 발생했을 경우

readChar

public final char readChar()
                    throws IOException 
이 파일로부터 문자를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해, 파일로부터 2 바이트를 읽어냅니다. 읽어내진 2 바이트가 순서에 b1b2 이며,0 <= b1,  b2 <= 255 의 경우, 결과는 다음과 같습니다.
     (char)((b1 << 8) | b2)
 

이 메소드는, 2 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readChar
반환값:
char 로서 해석되는 이 파일의 다음의 2 바이트
예외:
EOFException - 2 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException - 입출력 에러가 발생했을 경우

readInt

public final int readInt()
                  throws IOException 
이 파일로부터 서명 첨부 32 비트 정수 문자를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해, 파일로부터 4 바이트를 읽어냅니다. 읽어내진 바이트가 순서에 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 - 입출력 에러가 발생했을 경우

readLong

public final long readLong()
                    throws IOException 
이 파일로부터 서명 첨부 64 비트 정수 문자를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해, 파일로부터 8 바이트를 읽어냅니다. 읽어내진 바이트가 순서에 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 - 입출력 에러가 발생했을 경우

readFloat

public final float readFloat()
                      throws IOException 
이 파일로부터 float 를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해,readInt 메소드를 사용했을 경우와 같이 파일로부터 int 치를 읽어내, 읽어낸 intFloat 클래스의 intBitsToFloat 메소드를 사용해 float 로 합니다.  

이 메소드는, 4 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readFloat
반환값:
float 로서 해석되는 이 파일의 다음의 4 바이트
예외:
EOFException - 4 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException - 입출력 에러가 발생했을 경우
관련 항목:
readInt() , Float.intBitsToFloat(int)

readDouble

public final double readDouble()
                        throws IOException 
이 파일로부터 double 를 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해,readLong 메소드를 사용했을 경우와 같이 파일로부터 long 치를 읽어내, 읽어낸 longDouble 클래스의 longBitsToDouble 메소드를 사용해 double 로 변환합니다.  

이 메소드는, 8 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readDouble
반환값:
double 로서 해석되는 이 파일의 다음의 8 바이트
예외:
EOFException - 8 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException - 입출력 에러가 발생했을 경우
관련 항목:
readLong() , Double.longBitsToDouble(long)

readLine

public final String  readLine()
                      throws IOException 
이 파일의 텍스트의 다음의 행을 읽어냅니다. 이 메소드는, 현재의 파일 포인터로부터 개시해, 개행 또는 파일의 마지막에 이를 때까지 파일로부터 바이트를 연속적으로 읽어냅니다. 각 바이트는, 문자의 하위 8 비트의 바이트치를 취득해, 문자의 상위 8 비트를 0 으로 설정해 문자에 변환됩니다. 따라서, 이 메소드는 Unicode 캐릭터 세트 전체를 지원하고 있습니다.

텍스트행은, 왕복대 리턴 문자 ('\r'), 개행 문자 ('\n'), 왕복대 리턴 문자와 거기에 계속되는 개행 문자, 또는 파일의 마지막으로 종료합니다. 줄 끝 문자는 파기되어 반환된 캐릭터 라인의 부분에 포함되지 않습니다.

이 메소드는, 개행 문자가 읽어내질 때까지, 왕복대 리턴과 거기에 계속되는 바이트가 읽어내질 때까지 (개행인가 어떤가를 판정하기 위해(때문에)), 파일의 마지막에 이를 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readLine
반환값:
이 파일의 텍스트의 다음의 행, 1 바이트가 읽어내지기 전이어도 파일의 마지막이 검출되었을 경우는 null
예외:
IOException - 입출력 에러가 발생했을 경우

readUTF

public final String  readUTF()
                     throws IOException 
이 파일로부터 캐릭터 라인을 읽어냅니다. 캐릭터 라인은,수정 UTF-8 형식을 사용해 encode 되고 있습니다.  

현재의 파일 포인터로부터 개시해,readUnsignedShort 를 사용했을 경우와 같이 최초의 2 바이트를 읽어냅니다. 이 값은, 결과적으로 얻을 수 있는 캐릭터 라인의 길이는 아니고, encode 된 캐릭터 라인에 있는 후속의 바이트수를 제공합니다. 후속의 바이트는, 수정 UTF-8 형식의 바이트 인코딩 문자로서 해석되어 문자에 변환됩니다.  

이 메소드는, 모든 바이트가 읽어내질 때까지, 스트림의 최후가 검출될 때까지, 또는 예외가 throw 될 때까지 블록 됩니다.

정의:
인터페이스 DataInput 내의 readUTF
반환값:
Unicode 캐릭터 라인
예외:
EOFException - 모든 바이트를 읽어들이기 전에, 이 파일의 마지막에 이르렀을 경우
IOException - 입출력 에러가 발생했을 경우
UTFDataFormatException - 바이트가 유효한 수정 UTF-8 인코딩의 Unicode 캐릭터 라인을 나타내지 않는 경우
관련 항목:
readUnsignedShort()

writeBoolean

public final void writeBoolean(boolean v)
                        throws IOException 
1 바이트치로서 boolean 를 파일에 기입합니다. 값 true 는, 값 (byte) 1 으로서 기입해져 값 false 는 값 (byte) 0 으로서 기입해집니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.

정의:
인터페이스 DataOutput 내의 writeBoolean
파라미터:
v - 기입해지는 boolean
예외:
IOException - 입출력 에러가 발생했을 경우

writeByte

public final void writeByte(int v)
                     throws IOException 
byte 를 1 바이트치로서 이 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.

정의:
인터페이스 DataOutput 내의 writeByte
파라미터:
v - 기입해지는 byte
예외:
IOException - 입출력 에러가 발생했을 경우

writeShort

public final void writeShort(int v)
                      throws IOException 
short 를 2 바이트치로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.

정의:
인터페이스 DataOutput 내의 writeShort
파라미터:
v - 기입해지는 short
예외:
IOException - 입출력 에러가 발생했을 경우

writeChar

public final void writeChar(int v)
                     throws IOException 
char 를 2 바이트치로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.

정의:
인터페이스 DataOutput 내의 writeChar
파라미터:
v - 기입해지는 char
예외:
IOException - 입출력 에러가 발생했을 경우

writeInt

public final void writeInt(int v)
                    throws IOException 
int 를 4 바이트로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.

정의:
인터페이스 DataOutput 내의 writeInt
파라미터:
v - 기입해지는 int
예외:
IOException - 입출력 에러가 발생했을 경우

writeLong

public final void writeLong(long v)
                     throws IOException 
long 를 8 바이트로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.

정의:
인터페이스 DataOutput 내의 writeLong
파라미터:
v - 기입해지는 long
예외:
IOException - 입출력 에러가 발생했을 경우

writeFloat

public final void writeFloat(float v)
                      throws IOException 
Float 클래스의 floatToIntBits 메소드를 사용해, float 인수를 int 로 변환합니다. 다음에, 변환된 int 치를 4 바이트의 양으로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.

정의:
인터페이스 DataOutput 내의 writeFloat
파라미터:
v - 기입해지는 float
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
Float.floatToIntBits(float)

writeDouble

public final void writeDouble(double v)
                       throws IOException 
Double 클래스의 doubleToLongBits 메소드를 사용해, double 인수를 long 로 변환합니다. 다음에, 변환된 long 치를 8 바이트의 양으로서 고위 바이트를 먼저 파일에 기입합니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.

정의:
인터페이스 DataOutput 내의 writeDouble
파라미터:
v - 기입해지는 double
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
Double.doubleToLongBits(double)

writeBytes

public final void writeBytes(String  s)
                      throws IOException 
캐릭터 라인을 바이트의 순서로서 파일에 기입합니다. 캐릭터 라인의 각 문자는, 고위의 8 비트를 파기해 순서에 기입해집니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.

정의:
인터페이스 DataOutput 내의 writeBytes
파라미터:
s - 기입해지는 바이트의 캐릭터 라인
예외:
IOException - 입출력 에러가 발생했을 경우

writeChars

public final void writeChars(String  s)
                      throws IOException 
캐릭터 라인을 문자의 순서로서 파일에 기입합니다. 각 문자는,writeChar 메소드를 사용했을 경우와 같이, 데이터 출력 스트림에 기입해집니다. 기입은, 파일 포인터의 현재의 위치에서 시작됩니다.

정의:
인터페이스 DataOutput 내의 writeChars
파라미터:
s - 기입해지는 String
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
writeChar(int)

writeUTF

public final void writeUTF(String  str)
                    throws IOException 
수정 UTF-8 인코딩을 사용해, 머신에 의존하는 방식으로 캐릭터 라인을 파일에 기입합니다.  

우선, 현재의 파일 포인터로부터 개시해, 후속의 바이트수를 지정하는 writeShort 메소드를 사용했을 경우와 같이, 2 바이트가 파일에 기입해집니다. 이 값은, 실제로 기입해지는 바이트수이며, 캐릭터 라인의 길이가 아닙니다. 길이에 이어, 각 문자에 수정 UTF-8 인코딩을 사용해, 캐릭터 라인의 각 문자가 순서에 출력됩니다.

정의:
인터페이스 DataOutput 내의 writeUTF
파라미터:
str - 기입해지는 캐릭터 라인
예외:
IOException - 입출력 에러가 발생했을 경우

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