タイムアウトを使ってjava.io.InputStreamから読み込みたいとします。どうやらこれを行う正しい方法は、java.nio.channels.SelectableChannelとjava.nio.channels.Selectorを使用することです。残念ながら、InputStreamからSelectableChannelに移動する方法は明確ではありません。 http://java.sun.com/products/javacomm/reference/api/javax/comm/CommPort.html#getInputStream()InputStreamからSelectableChannelを取得する方法は?
1
A
答えて
2
が全てInputStream
sは選択であることが保証されるわけではないので、これを行うには簡単な方法はありません -
はInputStreamが非従来のソースから来ています。 CommPort
クラスにはSelectableChannel
を返すメソッドがないことは残念です。これを達成するための(すなわち、カプセル化を完全に破ることなく)容易でポータブルな方法は存在しない。
1
NIOはこの点で壊れています。あなたがしなければならないことは、コードをちょっと見て、チャンネルにSocketChannelなどを要求するすべてのキャストを見ることだけです。NIOで何かを再利用することはできないような別のタイプのファイル記述子ベースのI/Oチャンネルにはできません。
最後に、これを一般的な再利用のために修正する計画はないと私は尋ねました。
関連する問題
- 1. rtfドキュメントファイルのファイルリストからInputStreamを取得する方法は?
- 2. BufferedImageからInputStreamを取得する方法は?
- 3. ソケットからInputStreamを取得
- 4. InputStreamからデータを取得
- 5. Androidのinputstreamオブジェクトからヘッダーを取得する方法はありますか?
- 6. AndroidのsocketのinputStream()からTCPヘッダを取得する方法は?
- 7. JavaのInputStreamからIniファイルの値を取得する方法は?
- 8. InputStreamからバイト配列を取得
- 9. retrofit 2.0b2:レスポンスからInputStreamを取得するには?
- 10. InputstreamとしてXMLテキストを取得する方法
- 11. InputStreamから読み取る
- 12. Apache Commons Configuration2 InputStreamからデータを読み取る方法
- 13. JavaのInputstreamからの文字列入力から変数を取得する方法
- 14. ドキュメントまたはノードからInputStreamを作成する方法
- 15. JAVA inputStreamを使用してHTMLコードから漢字を取得する方法は?
- 16. RestTemplateでInputStreamを取得する
- 17. ファイルの後半のInputStreamを取得する最も良い方法は?
- 18. ExifデータをファイルではなくInputStreamから取得するには?
- 19. OMElementオブジェクトからInputStream/io.Readerを取得します
- 20. サーバーからイメージを取得する方法は?またはNSUrlからNSDataを取得する方法
- 21. 文字列の配列からInputStreamを作成する方法
- 22. UTF-8でInputStreamを読み取る方法は?
- 23. チャンクワイズ - InputStreamからOutputStreamにデータをコピーし、最後にbyte []を取得する
- 24. Commons FTPClient InputStreamを1つの接続で複数のファイルから取得する
- 25. TFSコレクションを取得したWorkItemChangedEventから取得する方法
- 26. AndroidからinputStreamを使用してBluetoothから読み取る
- 27. jsonオブジェクトから情報を取得する方法、属性を取得する方法はありますか?
- 28. JavaのInputstreamの終了を取得するには
- 29. Facebookからこれらのユーザーフィールドを取得する方法は?
- 30. ジオポイントから走行方向データを取得する方法は?
残念ですが、それはjavax.commで動作しません。独自の選択可能なチャンネルを実装するためにrxtxプロジェクトをハックできるかもしれませんが、*任意の* SelectableChannelで既に動作するパッケージと統合しようとしているのでなければ、ノンブロッキングシリアルI/O。 – erickson
どのように新しいSelectableChannelを実装しますか? RXTXがどのように独自の実装を提供できるかははっきりしていません。 – Gili