|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.nio.channels.Channels
public final class Channels
針對通道和串流的實用工具方法。
此類別定義了支持 java.io
套件中的串流類別與此套件中的通道類別之間進行互操作的靜態方法。
方法摘要 | |
---|---|
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)
建構一個 reader,它用給定的解碼器對取自給定通道的位元組進行解碼。 |
static Reader |
newReader(ReadableByteChannel ch,
String csName)
建構一個 reader,它根據命名的 charset 對取自給定通道的位元組進行解碼。 |
static Writer |
newWriter(WritableByteChannel ch,
CharsetEncoder enc,
int minBufferCap)
建構一個 writer,它使用給定的編碼器對字元進行編碼,並將所得的位元組寫入給定的通道。 |
static Writer |
newWriter(WritableByteChannel ch,
String csName)
建構一個 writer,它根據指定的 charset 對字元進行編碼,並將所得的位元組寫入給定的通道。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法詳細資訊 |
---|
public static InputStream newInputStream(ReadableByteChannel ch)
如果在底層通道處於非阻塞網要的同時調用所得串流的 read 方法,則會拋出 IllegalBlockingModeException
。不對該串流進行緩衝,並且它不支持 mark
或 reset
方法。多個共時執行緒存取該串流是安全的。關閉串流依次會導致通道被關閉。
ch
- 將從中讀取位元組的通道
public static OutputStream newOutputStream(WritableByteChannel ch)
如果在底層通道處於非阻塞網要的同時調用所得串流的 write 方法,則會拋出 IllegalBlockingModeException
。不對該串流進行緩衝。多個共時執行緒存取該串流是安全的。關閉串流依次會導致通道被關閉。
ch
- 將向其寫入位元組的通道
public static ReadableByteChannel newChannel(InputStream in)
不對所得的通道進行緩衝;只是將其 I/O 操作重定向到給定的串流。關閉串流會依次導致通道被關閉。
in
- 從中讀取位元組的串流
public static WritableByteChannel newChannel(OutputStream out)
不對所得的通道進行緩衝;只是將其 I/O 操作重定向到給定的串流。關閉串流會依次導致通道被關閉。
out
- 將向其寫入位元組的串流
public static Reader newReader(ReadableByteChannel ch, CharsetDecoder dec, int minBufferCap)
所得的串流將包含一個內部輸入緩衝區,其大小至少為 minBufferCap 個位元組。該串流的 read 方法會根據需要填充該緩衝區,方法是從底層通道讀取位元組;如果要讀取位元組時該通道處於非阻塞網要,則拋出 IllegalBlockingModeException
。否則不對所得的串流進行緩衝,並且也不支持 mark
或 reset
方法。關閉串流依次會導致通道被關閉。
ch
- 將從中讀取位元組的通道dec
- 要使用的 charset 解碼器minBufferCap
- 內部位元組緩衝區的最小容量,如果使用取決於實作的預設容量,則為 -1
public static Reader newReader(ReadableByteChannel ch, String csName)
調用該方法的形式為:
與下列表達式的作用完全相同Channels.newReader(ch, csname)
Channels.newReader(ch, Charset.forName(csName) .newDecoder(), -1);
ch
- 將從中讀取位元組的通道csName
- 要使用的 charset 的名稱
UnsupportedCharsetException
- 如果在此 Java 虛擬機器的實例中不提供對指定 charset 的支持public static Writer newWriter(WritableByteChannel ch, CharsetEncoder enc, int minBufferCap)
所得的串流將包含一個內部輸出緩衝區,其大小至少為 minBufferCap 位元組。該串流的 write 方法會根據需要刷新該緩衝區,方法是向底層通道寫入位元組;如果要寫入位元組時該通道處於非阻塞網要,則拋出 IllegalBlockingModeException
。不另外對所得的串流進行緩衝。關閉串流依次會導致通道被關閉。
ch
- 將向其寫入位元組的通道enc
- 要使用的 charset 編碼器minBufferCap
- 內部位元組緩衝區的最小容量,如果使用取決於實作的預設容量,則為 -1
public static Writer newWriter(WritableByteChannel ch, String csName)
調用該方法的形式為:
與下列表達式的作用完全相同Channels.newWriter(ch, csname)
Channels.newWriter(ch, Charset.forName(csName) .newEncoder(), -1);
ch
- 將向其寫入位元組的通道csName
- 所使用的 charset 的名稱
UnsupportedCharsetException
- 如果在此 Java 虛擬機器的實例中不提供對指定 charset 的支持
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。