Im Code erzeuge ich ein Array von Bytes aus 2 ganzen Zahlen mit Byte-Puffer. Wenn ich versuche, das Array in einen Ausgabestream zu schreiben, erhalte ich eine ArrayIndexOutOfBounds-Ausnahme. Der length-Parameter für die Methode write (array, offset, length) in OutputSteam geht davon aus, dass das Array kleiner ist als die Array-Länge, selbst wenn ich die Eigenschaft vom Array selbst überlasse. Ich habe überprüft, dass die Datei groß genug ist, indem ich Dummy-Daten schreibe, aber ich bekomme immer noch dieselbe Ausnahme.Byte-Array-Länge nicht korrekt
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
was ist Ihr Offset? –
Dieser Code ist nicht gültig Java. Wenn Sie Hilfe benötigen, müssen Sie den _actual_ Java-Code posten, der fehlschlägt, nicht Ihre Paraphrasierung davon. Veröffentlichen Sie auch den Stack-Trace und geben Sie die Werte von Variablen wie "Offset" an. –
Nein, das Problem kommt früher als die Zeile mit dem Kommentar. Momentan ist es die Tatsache, dass Sie Code veröffentlichen, der nicht einmal kompiliert wird. – GhostCat