2009-12-16 65 views

回答

1

重複:

How to get SelectableChannel from an InputStream?

嗯......再一想,對標準輸入有可能是一個解決方案。我發現這個參考:

http://www.javafaq.nu/java-example-code-346.html

,特別是:

SystemInPipe.java(類封裝了標準輸入作爲一個可選擇通道)

+2

我很欣賞那個人在SystemInPipe中試圖做的事情,但它仍然沒有比產生守護線程更好的輪詢它。問題是你不能打斷那個線程(永遠)。 – Justin 2010-04-03 23:57:35

+0

這是一個經典的例子,說明爲什麼主要鏈接的答案在StackOverflow上被強烈阻止。到javafaq.nu的鏈接已經死了,所以答案是毫無價值的。 – 2016-07-15 17:54:08

4

我不知道一個SelectableChannel,但你可以轉換一個InputStreamReadableByteChannel

using java.nio.channels.Channels; 

... 

ReadableByteChannel in = Channels.newChannel(System.in); 
0

你ç應該創建一個Pipe和一個自定義線程從標準輸入讀取並寫入管道。

一旦你有了Pipe,你就可以得到輸入通道。