タイムアウトを使って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. Androidのinputstreamオブジェクトからヘッダーを取得する方法はありますか?
- 5. JavaのInputStreamからIniファイルの値を取得する方法は?
- 6. retrofit 2.0b2:レスポンスからInputStreamを取得するには?
- 7. InputStreamから読み取る
- 8. RestTemplateでInputStreamを取得する
- 9. ファイルの後半のInputStreamを取得する最も良い方法は?
- 10. ドキュメントまたはノードからInputStreamを作成する方法
- 11. OMElementオブジェクトからInputStream/io.Readerを取得します
- 12. 文字列の配列からInputStreamを作成する方法
- 13. TFSコレクションを取得したWorkItemChangedEventから取得する方法
- 14. UTF-8でInputStreamを読み取る方法は?
- 15. チャンクワイズ - InputStreamからOutputStreamにデータをコピーし、最後にbyte []を取得する
- 16. jsonオブジェクトから情報を取得する方法、属性を取得する方法はありますか?
- 17. Facebookからこれらのユーザーフィールドを取得する方法は?
- 18. Commons FTPClient InputStreamを1つの接続で複数のファイルから取得する
- 19. ジオポイントから走行方向データを取得する方法は?
- 20. AndroidからinputStreamを使用してBluetoothから読み取る
- 21. JavaのInputstreamの終了を取得するには
- 22. レール3では、ビューヘルパーからクッキーを取得する方法は?
- 23. PythonからC structを受け取る/取得する方法
- 24. すべてのmshtml.IHTMLDivElementをIHTMLDocument2から取得する方法は?
- 25. WindowsフォームクライアントからHTTPリクエストから値を取得する方法
- 26. InputStreamを監視する最良の方法は何ですか?
- 27. InputStreamをProcessBuilderにパイプする方法
- 28. PortAudio:マイクからレコードを取得する方法(データを取得する)
- 29. Bloomberg APIから取引休暇を取得する方法
- 30. 2D Java配列から列を取得する方法は?
残念ですが、それはjavax.commで動作しません。独自の選択可能なチャンネルを実装するためにrxtxプロジェクトをハックできるかもしれませんが、*任意の* SelectableChannelで既に動作するパッケージと統合しようとしているのでなければ、ノンブロッキングシリアルI/O。 – erickson
どのように新しいSelectableChannelを実装しますか? RXTXがどのように独自の実装を提供できるかははっきりしていません。 – Gili