Я хочу прочитать из java.io.InputStream с таймаутом. По-видимому, правильный способ сделать это - использовать java.nio.channels.SelectableChannel и java.nio.channels.Selector. К сожалению, неясно, как перейти от InputStream к SelectableChannel.Как получить SelectableChannel из InputStream?
InputStream исходит из нетрадиционного источника - http://java.sun.com/products/javacomm/reference/api/javax/comm/CommPort.html#getInputStream()
Извините, Гили, это не сработает с javax.comm. Возможно, вы сможете взломать проект rxtx, чтобы реализовать свой собственный канал выбора ... но если вы не пытаетесь интегрироваться с пакетом, который уже работает с * любым * SelectableChannel, это, вероятно, больше работы, чем необходимо, чтобы получить неблокирующий серийный номер I/вывода. – erickson
Как бы вы реализовали новый SelectableChannel? Неясно, как RXTX может даже обеспечить свою собственную реализацию. – Gili