PDA

Ver la Versión Completa : Extraer estructura de un archvo.


JosepZ
14-11-2007, 00:46:57
Necesito leer unos arhivos desde un programa que estoy escribiendo, para operar con sus datos, pero no hay documentación sobre su estructura.

Por suerte hay un código GNU escrito para poder leer esos tipos de archivo, pero lamentablente está escrito en Java, y yo solo controlo Delphi y algo de C.

¿Es muy dificil determinar la estructura de un archivo leyendo el código fuente de una clase que lo lee?

Podría alguien que sepa de Java, por favor, si no es muy complicado hecharle un vistazo a ver que se puede sacar?

Esta es la dirección del código http://mytourbook.svn.sourceforge.net/viewvc/mytourbook/trunk/net.tourbook.device.crp/src/net/tourbook/device/crp/CRPDataReader.java?revision=347&view=markup


Gracias

droguerman
14-11-2007, 01:20:48
los archivos no tienen "estructura", eso es algo lógico que lo define el programador solo existen los archivos de texto y los binarios

JosepZ
14-11-2007, 09:42:34
Primero, muchas gracias por tu respuesta.
Seguramente no he sabido explicarme, con "estructura del archivo" me refiero a que desde delphi, y supongo que desde cualquier lenguaje, un archivo binario se lee conociendo el tipo de datos que contine, su posicion dentro del archivo, y su tamaño.

A ver si con un ejemplo me explico mejor:
Una posible extructura del archivo .crp, el cual necesito leer, contiene estos datos:

Nombre------Ofset-------- tipo---------tamaño

Distancia------0-----------integer--------4bytes
Pulsaciones----3-----------integer--------4bytes
Potencia-------7-----------integer---------4bytes
etc.

Eso es lo que yo llamo "estructura" del archivo, perdón si la definicion no es correcta.

Necesito saber donde empieza un dato dentro del archivo, si es un numero, texto, etc, y su tamaño para poder acceder a el.

Por eso supuse que de ese código (de libre distribución) se podrían extraer esos datos, ya que es el código de una clase que los lee.

En cualquier caso, si desde java se puede hacer de otra forma,(ya te digo, Delphi, ok, de java ni idea) quisiera saberlo, me podría servir tambien.

Gracias

samantha jones
30-11-2007, 01:07:29
https://java.sun.com/j2se/1.4.2/docs/api/java/io/FileReader.html

mmm, segùn yo es un archivo de texto no es binario.

Necesitas darle una vuelta al codigo en java y aunque no lo conozcas donde dice fileReader.readLine(); indica que leyo una linea mas del archivo, hace conversiones y todo eso pero esta entendible a que se refiere cada linea!..

Saludos

Neftali [Germán.Estévez]
30-11-2007, 10:26:55
¿Tienes algun archivo de muestra?
Segun el link que has puesto y mirando por enima, parece que el procedimiento <public boolean processDeviceData> es el que recibe los datos.

Casi con los comentarios se entiende bien.