問題タブ [optionaldataexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - オブジェクトのみをシリアル化する場合の Java OptionalDataException (どこにもプリミティブ データ型がない)
理解できない奇妙な OptionalDataException を扱っています。
入ってくるオブジェクトがあります。これらのオブジェクトは、を装飾してそのメソッドOutputObjectStream
を呼び出すことによってそれらを書き込むクラスによってディスクに保存されます。writeUnshared
定期的に、10000 オブジェクトごとにflush
and を呼び出しますreset
。最後に、ストリームを閉じます。
このようにして、シリアル化されたオブジェクトのみを含む少数のファイルを作成します。
つまりね。これらのファイルがすべて書き込まれた後、ペアを取り、マージソートを試みます。この時点では、ファイルのサイズは変更されていません (予想どおり)。
これを行うには、まず 2 つのストリームを開きreadObject
、それぞれを呼び出します。
ただし、このreadObject
(各ストリームの最初のもの)への呼び出しはOptionalDataException
、毎回 をスローしeof = false, length = 4
ます。これは、私が理解しているように、プリミティブ データ型を読み取っていること、または取得していない何かが起こっていることを示しています。
android - Android: ObjectInputStream.readObject() での OptionalDataException
状況: 私の Android サーバーから、単純な String OBJECT をクライアントに送信しています。サーバーでは ObjectOutputStream を使用し、クライアントでは ObjectInputStream を使用します。
サーバーコード:
クライアントコード:
問題: クライアント エンドで、readObject() 中に OptionalDataException を取得します。興味深いのは、それを正しく読み取ることができるのは最初だけですが、その後この例外がスローされることです。
ご覧のとおり、オブジェクトを送信する前後に OutPutStream を flush() および reset() します。このエラーがまだ発生するのはなぜですか?
java - OptionalDataException Java
ボイス チャット プログラムを作成していますが、OptionalDataExceptionエラーが発生しました。音声を追加する前は、コードでこの問題は発生していませんでした。音声通信は別のソケットで処理されるため、問題はありません。
コード:
それは投げられmsg = (String) i1.readObject();
、それは言う