В коде я генерирую массив байтов из 2 целых чисел с использованием байтового буфера. Когда я пытаюсь записать массив в выходной поток, я получаю исключение ArrayIndexOutOfBounds. Параметр длины метода write (array, offset, length) в OutputSteam полагает, что массив будет меньше длины массивов, даже когда я передам свойство из самого массива. Я проверил, что файл достаточно велик, написав фиктивные данные, но я все равно получаю то же исключение.Длина массива байтов неверна
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