sé la estructura de archivos, supongamos que esta estructura es la siguiente:Leer datos estructurados del archivo binario -?
[3-bytes long int],[1-byte long unsigned integer],[4-bytes long unsigned integer]
Así que el archivo contiene cadenas de tales registros.
¿Cuál es la forma más elegante de analizar un archivo como este en Java?
Supuestamente, podemos definir una matriz byte [] de longitud total y leerla con InputStream, pero ¿cómo convertir sus subelementos en valores enteros correctos?
Primero, el valor de byte en java está firmado, necesitamos el valor sin signo en nuestro caso. Lo siguiente, ¿hay métodos útiles que permitan convertir una sub-matriz de bytes, por ejemplo, bytes de 1-st a 4-th en un valor entero correcto?
Sé con certeza, hay funciones paquete & desempaquetar en Perl, que le permiten representar una cadena de bytes como una expresión, digamos "VV" significa 2 valores enteros largos sin signo. Defina una cadena de este tipo y bríndela como argumento a un paquete o desempaquete las funciones, junto con los bytes que se empaquetarán/desempaquetarán. ¿Hay cosas en Java/Apache libs, etc.?
posible duplicado de [Mejor manera de leer archivos binarios estructurados con Java] (http://stackoverflow.com/questions/277944/best-way-to-read-structured -binary-files-with-java) –