JavaTM Platform
Standard Ed. 6

java.nio.channels
인터페이스 ReadableByteChannel

모든 슈퍼 인터페이스:
Channel , Closeable
기존의 서브 인터페이스의 일람:
ByteChannel , ScatteringByteChannel
기존의 구현 클래스의 일람:
DatagramChannel , FileChannel , Pipe.SourceChannel , SocketChannel


public interface ReadableByteChannel
extends Channel

바이트를 읽어낼 수가 있는 채널입니다.

읽어들여 가능한 채널상에서, 병행해 복수의 read 조작을 실행할 수 없습니다. 채널상에서 읽어들여 조작을 개시한 thread가 있는 경우, 새로운 읽어들여 조작을 개시하려고 하는 다른 thread는, 최초의 조작이 완료할 때까지 블록 됩니다. read 조작과 그 외의 입출력 조작을 동시 병행으로 실행할 수 있을지 어떨지는, 채널의 종류에 의해 정해집니다.

도입된 버젼:
1.4

메소드의 개요
 int read (ByteBuffer  dst)
          이 채널의 바이트 순서를 지정의 버퍼에 읽어들입니다.
 
인터페이스 java.nio.channels. Channel 로부터 상속된 메소드
close , isOpen
 

메소드의 상세

read

int read(ByteBuffer  dst)
         throws IOException 
이 채널의 바이트 순서를 지정의 버퍼에 읽어들입니다.

채널로부터 최대 r 바이트를 읽어내려고 합니다. r 는, 이 메소드를 호출할 때 버퍼내에 존재하는 바이트수,dst.remaining() 가 됩니다.

길이 n (0 <= n <= r)의 바이트 순서가 읽어내진다고 합니다. 이 바이트 순서가 버퍼에 전송 되기 (위해)때문에, 순서내의 최초의 바이트의 인덱스는 p, 마지막 바이트의 인덱스는 p + n - 1 이 됩니다. 덧붙여p 는, 이 메소드를 호출할 때의 버퍼의 위치입니다. 버퍼의 위치는, 돌려주어질 때 p + n 에 동일해집니다. 리밋트에 변화는 없습니다.

read 조작에 의해 버퍼가 가득 된다고는인가 선. 바이트가 일절 읽어내지지 않은 경우도 있습니다. 버퍼가 가득 될지 어떨지는, 채널의 본래의 성질과 상태에 의해 결정합니다. 예를 들어 비블록 모드의 소켓은, 소켓의 입력 버퍼로부터 즉시 취득할 수 있는 바이트 이외를 읽어낼 수가 없습니다. 같이 파일 채널은, 파일내의 바이트 이외를 읽어낼 수가 없습니다. 다만, 채널이 블록 모드이며, 버퍼내의 바이트수가 1 바이트 이상의 경우, 1 바이트 이상이 읽어내질 때까지 이 메소드는 블록 되게 되어 있습니다.

이 메소드는 언제라도 호출할 수가 있습니다. 다만, 다른 thread가 이 채널에 대해서 읽어들여 조작을 개시하고 있는 경우, 이 메소드의 호출은 최초의 조작이 끝날 때까지 블록 됩니다.

파라미터:
dst - 바이트의 전송처 버퍼
반환값:
읽힌 문자수. 제로인가, 채널이 스트림의 마지막에 이르고 있는 경우는 -1
예외:
NonReadableChannelException - 이 채널이 읽어들여 가능하지 않은 경우
ClosedChannelException - 이 채널이 클로즈 하고 있는 경우
AsynchronousCloseException - read 조작의 진행중에, 다른 thread에 의해 이 채널이 클로즈 되었을 경우
ClosedByInterruptException - read 조작의 진행중에 다른 thread로부터의 인터럽트가 있었기 때문에 채널이 클로즈 해, 현재의 thread의 인터럽트 상태가 설정되었을 경우
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 도 참조해 주세요.