レコードのコレクションから文字列と整数の両方を処理しようとしています。各レコードには、各パラメーターごとにさまざまな列があります。私は、データストリームから各情報を処理します。整数によるファイル処理
stream.readFully(keyPad);
key = new String(keyPad);
と今key = "Af3w"
:
Key Time Seconds
Af3w 50:34 480
私のような文字列を処理:
ストリームのようなさまざまな値が含まれています。 (keyPad
は、読み込みが必要なバイト数を補うための変数です)。
しかし、整数として秒を処理しようとすると、私は奇妙な値を取得します。
seconds = stream.readInt()
秒は、しかし、私はそれを文字列として処理し、私は480
を得るintとしてそれを解析する際、876097545
代わりの480
に等しくなってしまいます。しかし、これは単純な解決策ですが、整数はの範囲から3
の文字から8
までですので、int
として処理する必要があります。
なぜ私はストリームから整数を読み込むのですか。私は480
の代わりに876097545
の値を取得します。
作業するコードがあれば誰かが実際にそれに答えるかもしれません。 [MCVE](http://stackoverflow.com/help/mcve)を提供してください。そうでなければ、この質問はあなたとあなたの誰もがこれを読む時間を無駄にすること以外は何もありませんでした。 – Paul
私の謝罪、私は私のコード全体を投稿し、誰かが私のためにそれを修正するように思わせるようにしたくありません。私はちょうどなぜ値 "480"が "876097545"としてjavaのデータストリームからintとして読み込まれるときに処理されるのか、文字列として処理されるときには "480"として処理されることを知りたいだけです。 – IWantToLearn
これは素晴らしいジェスチャーですが、ここでは正確には役に立ちません。たくさんの理由があるかもしれません。例えば、 'stream'が何であるか、それがどのように初期化されているのかわかりません。誤っていくつかの値などを読んでいる可能性があります。コードを投稿して、知りたいことをできるだけ明確に指摘してください。そうでなければ、盲目の推測以外は何もできません。 – Paul