これは古典的です - 読み取るものが何もない場合、どうすれば .read() を実行できますか? NIO は明らかにパフォーマンス集約型であり、ノンブロッキング io の実現に専念しています。Socket.read() で nio を実行してみてください - それでもブロッキング操作が発生するか、タイムアウトで失敗します...データを生成しない限り、いくら空想しても「ポート」にデータが表示されることはありません...
final SecureRandom dataGenerator = SecureRandom.getInstance("SHA1PRNG");
final Integer range = new Integer( 'z' - 'a' );
for ( big loop )
{
buffer.append( dataGenerator.nextInt ( range.intValue() + (int) 'a' ) );
// ............
do.something( buffer.toString() );
たとえ氷河のペースであっても、あなたの開発スキルは動きますが、動きます。
try {
// Create a read/writeable file channel
File file = new File("filename");
FileChannel channel = new RandomAccessFile(file, "rw").getChannel();
// Create an output stream on the channel
OutputStream os = Channels.newOutputStream(channel);
// Create an inputstream on the channel
InputStream is = Channels.newInputStream(channel);
// Close the channel
is.close();
} catch (IOException e) {
}
メッセージの編集: 私はあなたの重要な応答を把握します, readObjectNoData() を実装しようとしている CORBA に 12,000 行まで待ちます (「敵対的」または不完全なソース ストリームにもかかわらず、逆シリアル化されたオブジェクトを適切に初期化するのに役立ちます)
私の1回限りの擬似コードは、デコード、リロードなどのために何らかのデータストリームを提供することが期待されていました-私はあなたの投稿を読み直しました; そこにない可能性のあるオブジェクトでノンブロッキングioをread()する方法が書かれていると思います...これは、例外とスケジューリングの既知の問題を深く掘り下げ、その方法で質問をする誰かとこれを作業しようとして危険を冒しますあなたはそれを言いました、言い直してみて、他の人にあなたが求めていることを私に説明してもらいます.
すぐにタコススタンドに行きます。