Пробовать этот код: byte arr[] = ByteBuffer.allocate(2).putInt(1).array()
Но он не работает с BufferOverflowException
. 1 слишком большой для хранения в 2 байтах? Или моя проблема где-то в другом месте?Java (Android) - BufferOverflowException on putInt
ответ
1 слишком большой для хранения в 2 байтах?
Ну, int
... putInt
всегда пишет 4 байта. Из documentation for ByteBuffer.putInt
Броски:
BufferOverflowException - Если есть меньше, чем четыре байта, оставшихся в этом буфере
Если вы хотите, чтобы положить два-байтовое целое, используйте putShort
вместо этого. Если вы хотите хранить данные в кодировке с переменной шириной (где занимаемое пространство зависит от значения), вам, вероятно, потребуется написать код самостоятельно.
От Javadoc метода putInt
:
записывает четыре байта, содержащих заданную Int значение, в текущем порядке байтов, в этот буфер в текущей позиции, а затем увеличивает положение с помощью четырех
Вы выделили только 2 байта поэтому BufferOverflowException
:
Неконтролируемое исключение, возникающее при достижении относительной операцией до предела целевого буфера.
Вы можете решить expading до 4 байт буфера или с использованием putShort, которые используют только 2 байта для хранения количества 1.
ByteBuffer.putInt(1)
помещает целое значение в буфер. Целое число составляет 4 байта (32 бит).
- 1. Почему putInt требует строку в Android Java?
- 2. BufferOverflowException при преобразовании Int к байту
- 3. Apache Commons - CircularFifoBuffer BufferOverflowException
- 4. BufferOverflowException при генерации Javadoc?
- 5. Какова цель BufferOverflowException
- 6. Android dex дает BufferOverflowException при сборке, при запуске API 8
- 7. BufferOverflowException при попытке кодирования данных
- 8. ADT получить BufferOverflowException в DDMS
- 9. В чем причина исключения BufferOverflowException?
- 10. Java/Android NullPointerException on onClick
- 11. Java - BufferOverflowException при попытке записи в файл 2 или более раз
- 12. BufferOverFlowException при смене ShortBuffer на IntBuffer
- 13. Преобразование int в байтовый массив BufferOverflowException
- 14. андроид - BufferOverflowException при попытке распаковать файл ÖBB
- 15. Android Wake On Lan в Java
- 16. Android Bluetooth Java Control LED On Off
- 17. Add/Remove border on-click Android Java
- 18. Traceroute on android
- 19. Что-то вроде HashMap, но с удобными методами, такими как putInt()
- 20. popen on android NDK
- 21. webservices on android eclipse
- 22. Android java.lang.SecurityException on Settings.Secure.putString()
- 23. libpd on java UnsatisfiedLinkError
- 24. Spotify logout on android
- 25. db4o on android
- 26. onGenericMotionEvent on android button
- 27. Java NullPointerException on onTouchListener
- 28. NullPointerException on StartActivity (Android)
- 29. MVEL2 on android throws exception
- 30. Jmeter Гибкий файловый писатель: BufferOverflowException с большими данными (41793 символов)