Pregunta

hace J2ME tiene algo similar a RandomAccessFile clase, o hay alguna forma de emular esta funcionalidad particular (acceso aleatorio)?

El problema es el siguiente: Tengo un archivo de datos binarios bastante grande (~ 600 KB) y me gustaría crear una aplicación móvil para el uso de esos datos. Formato de los datos es hecho en casa y contiene muchos bloques de índices y módulos de datos. La lectura de los datos en otras plataformas (como PHP o C) por lo general es la siguiente:

  1. Leer 2 bytes para clave de índice (K), otro 2 para el valor de índice (V) para el tipo de datos necesarios
  2. Skip V bytes desde el comienzo del archivo a buscar a una posición de archivos no los datos de clave de índice comienza K
  3. leer los datos
  4. Beneficio:)

Esto ocurre muchas veces durante el desarrollo del programa.

Um, y yo estoy investigando posibilidad de hacer lo mismo en J2ME, y aunque admito que soy bastante nuevo en todo el asunto de Java, me parece que no puede ser capaz de encontrar algo más allá de InputStream ( DataInputStream ) clases que no tengan la búsqueda básica / saltar a byte / regresan funciones de la posición I necesidad.

Así que, ¿cuáles son mis posibilidades?

¿Fue útil?

Solución

Usted debe tener algo como esto

try {
    DataInputStream di = new DataInputStream(is);
    di.marke(9999);
    short key = di.readShort();
    short val = di.readShort();
    di.reset();
    di.skip(val);
    byte[] b= new byte[255];
    di.read(b);
}catch(Exception ex ) {
    ex.printStackTrace();
}

Yo prefiero no utilizar los métodos de restauración / Marke, creo que es mejor ahorrar el desplazamiento desde el lugar val no desde el principio del archivo para que pueda omitir estos métodos. Creo que tienen problemas som en algunos dispositivos.

Una nota más, no lo recomiendo para abrir un archivo de 600 KB, que se colgará la aplicación en muchos dispositivos de gama baja, se debe dividir el archivo en varios archivos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top