JavaTM Platform
Standard Ed. 6

java.nio.channels
클래스 Channels

java.lang.Object 
  상위를 확장 java.nio.channels.Channels


public final class Channels
extends Object

채널과 스트림을 위한 유틸리티 메소드입니다.

이 클래스는,java.io 패키지의 스트림 클래스와 이 패키지의 채널 클래스의 제휴를 지원하는 static 메소드를 정의합니다.

도입된 버젼:
1.4

메소드의 개요
static ReadableByteChannel newChannel (InputStream  in)
          지정된 스트림로부터 바이트를 읽어내는 채널을 구축합니다.
static WritableByteChannel newChannel (OutputStream  out)
          지정된 스트림에 바이트를 기입하는 채널을 구축합니다.
static InputStream newInputStream (ReadableByteChannel  ch)
          지정된 채널로부터 바이트를 읽어내는 스트림을 구축합니다.
static OutputStream newOutputStream (WritableByteChannel  ch)
          지정된 채널에 바이트를 기입하는 스트림을 구축합니다.
static Reader newReader (ReadableByteChannel  ch, CharsetDecoder  dec, int minBufferCap)
          지정된 디코더를 사용해 지정된 채널 바이트를 디코드하는 리더를 구축합니다.
static Reader newReader (ReadableByteChannel  ch, String  csName)
          지정 캐릭터 세트에 따라 지정된 채널로부터 바이트를 디코드하는 리더를 구축합니다.
static Writer newWriter (WritableByteChannel  ch, CharsetEncoder  enc, int minBufferCap)
          지정된 엔코더를 사용해 문자를 encode 해, 결과적으로 얻을 수 있던 바이트가 지정된 채널에 기입하는 라이터를 구축합니다.
static Writer newWriter (WritableByteChannel  ch, String  csName)
          지정 캐릭터 세트에 따라 문자를 encode 해, 결과적으로 얻을 수 있던 바이트가 지정된 채널에 기입하는 라이터를 구축합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

메소드의 상세

newInputStream

public static InputStream  newInputStream(ReadableByteChannel  ch)
지정된 채널로부터 바이트를 읽어내는 스트림을 구축합니다.

결과적으로 얻을 수 있는 스트림의 read 메소드는, 기본이 되는 채널이 비블록 모드인 경우에 불려 가면(자),IllegalBlockingModeException 를 throw 합니다. 스트림은 버퍼 되지 않고,mark 메소드나 reset 메소드를 지원하지 않습니다. 스트림은 복수의 병행 thread로부터의 액세스에 대해서 안전합니다. 스트림을 클로즈 하면(자) 채널도 클로즈 합니다.

파라미터:
ch - 바이트가 읽히는 채널
반환값:
새로운 입력 스트림

newOutputStream

public static OutputStream  newOutputStream(WritableByteChannel  ch)
지정된 채널에 바이트를 기입하는 스트림을 구축합니다.

결과적으로 얻을 수 있는 스트림의 write 메소드는, 기본이 되는 채널이 비블록 모드인 경우에 불려 가면(자),IllegalBlockingModeException 를 throw 합니다. 스트림은 버퍼에 기입해지지 않습니다. 스트림은 복수의 병행 thread로부터의 액세스에 대해서 안전합니다. 스트림을 클로즈 하면(자) 채널도 클로즈 합니다.

파라미터:
ch - 바이트가 기입해지는 채널
반환값:
새로운 출력 스트림

newChannel

public static ReadableByteChannel  newChannel(InputStream  in)
지정된 스트림로부터 바이트를 읽어내는 채널을 구축합니다.

결과적으로 얻을 수 있는 채널은 버퍼 되지 않고, 지정된 스트림에 입출력 조작을 리다이렉트(redirect) 합니다. 채널을 클로즈 하면(자) 스트림도 클로즈 합니다.

파라미터:
in - 바이트의 read처 스트림
반환값:
새로운 read 가능한 바이트 채널

newChannel

public static WritableByteChannel  newChannel(OutputStream  out)
지정된 스트림에 바이트를 기입하는 채널을 구축합니다.

결과적으로 얻을 수 있는 채널은 버퍼 되지 않고, 지정된 스트림에 입출력 조작을 리다이렉트(redirect) 합니다. 채널을 클로즈 하면(자) 스트림도 클로즈 합니다.

파라미터:
out - 바이트의 기입처 스트림
반환값:
새로운 기입 가능한 바이트 채널

newReader

public static Reader  newReader(ReadableByteChannel  ch,
                               CharsetDecoder  dec,
                               int minBufferCap)
지정된 디코더를 사용해 지정된 채널 바이트를 디코드하는 리더를 구축합니다.

결과적으로 얻을 수 있는 스트림에는,minBufferCap 바이트 이상의 내부 입력 버퍼가 포함되어 있습니다. 스트림의 read 메소드는, 필요에 따라서 기본이 되는 채널로부터 바이트를 읽어들여, 버퍼에 넣습니다. 바이트의 read시에 채널이 비블록 모드가 되어 있으면(자),IllegalBlockingModeException 가 throw 됩니다. 결과적으로 얻을 수 있는 스트림은, 그 이외의 점에서는 버퍼 되지 않고,mark 메소드나 reset 메소드를 지원하지 않습니다. 스트림을 클로즈 하면(자) 채널도 클로즈 합니다.

파라미터:
ch - 바이트가 읽히는 채널
dec - 사용하는 캐릭터 세트 디코더
minBufferCap - 내부 byte 버퍼의 최소 용량. 또는, 구현에 의존하는 디폴트의 용량을 사용하는 경우는 -1
반환값:
새로운 리더

newReader

public static Reader  newReader(ReadableByteChannel  ch,
                               String  csName)
지정 캐릭터 세트에 따라 지정된 채널로부터 바이트를 디코드하는 리더를 구축합니다.

다음의 폼의 메소드 호출은,

 Channels.newReader(ch, csname)
상기의 메소드는, 다음의 표현과 같게 동작합니다.
 Channels.newReader(ch,
                    Charset.forName(csName)
                        . newDecoder(),
                    -1);

파라미터:
ch - 바이트가 읽히는 채널
csName - 사용하는 캐릭터 세트의 이름
반환값:
새로운 리더
예외:
UnsupportedCharsetException - 지정 캐릭터 세트가 현재의 Java 가상 머신에서는 이용할 수 없는 경우

newWriter

public static Writer  newWriter(WritableByteChannel  ch,
                               CharsetEncoder  enc,
                               int minBufferCap)
지정된 엔코더를 사용해 문자를 encode 해, 결과적으로 얻을 수 있던 바이트가 지정된 채널에 기입하는 라이터를 구축합니다.

결과적으로 얻을 수 있는 스트림에는,minBufferCap 바이트 이상의 내부 출력 버퍼가 포함되어 있습니다. 스트림의 write 메소드는, 필요에 따라서 기본이 되는 채널에 바이트를 기입해, 버퍼를 플래시 합니다. 바이트의 기입시에 채널이 비블록 모드가 되어 있으면(자),IllegalBlockingModeException 가 throw 됩니다. 결과적으로 얻을 수 있는 스트림은, 그 이외의 점에서는 버퍼 되지 않습니다. 스트림을 클로즈 하면(자) 채널도 클로즈 합니다.

파라미터:
ch - 바이트가 기입해지는 채널
enc - 사용하는 캐릭터 세트 엔코더
minBufferCap - 내부 byte 버퍼의 최소 용량. 또는, 구현에 의존하는 디폴트의 용량을 사용하는 경우는 -1
반환값:
새로운 라이터

newWriter

public static Writer  newWriter(WritableByteChannel  ch,
                               String  csName)
지정 캐릭터 세트에 따라 문자를 encode 해, 결과적으로 얻을 수 있던 바이트가 지정된 채널에 기입하는 라이터를 구축합니다.

다음의 폼의 메소드 호출은,

 Channels.newWriter(ch, csname)
상기의 메소드는, 다음의 표현과 같게 동작합니다.
 Channels.newWriter(ch,
                    Charset.forName(csName)
                        . newEncoder(),
                    -1);

파라미터:
ch - 바이트가 기입해지는 채널
csName - 사용하는 캐릭터 세트의 이름
반환값:
새로운 라이터
예외:
UnsupportedCharsetException - 지정 캐릭터 세트가 현재의 Java 가상 머신에서는 이용할 수 없는 경우

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