コードでは、バイトバッファを使用して2つの整数からバイト配列を生成します。配列を出力ストリームに書き込もうとすると、ArrayIndexOutOfBounds例外が発生します。 OutputSteamのwrite(array、offset、length)メソッドの長さパラメータは、配列自体からプロパティを渡しても配列が配列の長さよりも小さくなると考えています。ダミーデータを書き込むだけでファイルが十分に大きいことを確認しましたが、同じ例外が発生します。バイト配列の長さが正しくない
OutputStream out = new FileOutputStream("File");
ByteBuffer buff = ByteBuffer.alocate(Integer.BYTES*2);
buff.putInt(18);
buff.putInt(32);
byte[] array = buff.array();
out.write(array, 0, array.length); // Heres where the problem comes in
オフセットは何ですか? –
そのコードは有効なJavaではありません。助けが必要な場合は、失敗した_actual_ Javaコードを投稿する必要があります。また、スタックトレースをポストし、 'offset'のような変数の値を示します。 –
いいえ、問題はコメントの行よりも早くなります。今のところ、コンパイルさえしないコードを投稿しているという事実です。 – GhostCat