Ответ 1
Нет. Вам нужно будет обернуть поток, чтобы преобразовать его из большого конца в маленький конец. Вы можете google и найти несколько реализаций небольших потоков endian....
Есть ли способ заставить DataInputStream читать данные в формате little-endian? спасибо
PS. Выполнение преобразований байтового буфера не очень удобно, поскольку я имею дело с структурами C-типа, которые имеют много 32-битных и 16-разрядных элементов.
Нет. Вам нужно будет обернуть поток, чтобы преобразовать его из большого конца в маленький конец. Вы можете google и найти несколько реализаций небольших потоков endian....
Возможно, вы можете использовать ByteBuffer, который позволяет заказать (ByteOrder.LITTLE_ENDIAN). После этого большинство методов похожи на DataInputStream.
Guava теперь включает LittleEndianDataInputStream и LittleEndianDataOutputStream.
Если вы еще не используете ответ Guava Peter Lawrey выше, вероятно, лучше.