Foros del Web » Programación para mayores de 30 ;) » Java »

Leer datos de un archivo dat

Estas en el tema de Leer datos de un archivo dat en el foro de Java en Foros del Web. Hola: Estoy realizando un programita para obtener algunos datos de un archivo tipo dat. Mi programa es el siguiente: Código: import java.io.*; public class fileCharReader ...
  #1 (permalink)  
Antiguo 01/04/2004, 13:34
 
Fecha de Ingreso: octubre-2003
Mensajes: 64
Antigüedad: 20 años, 6 meses
Puntos: 0
Leer datos de un archivo dat

Hola:

Estoy realizando un programita para obtener algunos datos de un archivo tipo dat.

Mi programa es el siguiente:

Código:
import java.io.*;
public class fileCharReader {
public static void main (String args[])
{
BufferedReader fd = null;
String linea = "";
try {
fd = new BufferedReader (new FileReader ("prueba.dat"));
}
catch (FileNotFoundException e) {
System.out.println ("No pude abrir el archivo");
}
try {
while ((linea = fd.readLine ()) != null)
System.out.println (linea);
fd.close ();
}
catch (IOException e) {
System.out.println ("Error al leer");
}
}
}
hasta ese momento no tengo ningún problema, se abre mi archivo prueba.dat y me muestra en pantalla el contenido de este archivo, el problema es que no necesito todos los datos.

¿Existe alguna función como readLine() pero que me permita indicarle la posición del datos que necesito?

Por ejemplo, supongamos que mi archivo dat tiene el siguiente texto: "Hola buenos dias, como están" y me interesa obtener la palabra dias, por lo cual requiero pasar como parámetro un 13 que equivale a la posicón de la palabra y un 4 que equivale a la longitud de la palabra
  #2 (permalink)  
Antiguo 04/04/2004, 13:59
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 1 mes
Puntos: 7
Mira lo que se puede hacer es leer el dato como si fuera binario, es decir, estructura tu fichero de manera que sepas que hay en cada posicion del fichero (si es que siempre va a tener la misma estructura) . Ejemplo:

nombre apellido1 apellido2 calle

De esta manera sabes que la primera palabra es siempre el nombre por lo que si quieres obtenerlo debes leer utilizando lectura binaria los primeros k bytes, siendo k lo que ocupa un string. Mirate como se lee los ficheros binarios. Es facil.

Un saludo y espero haberte guiado algo.
  #3 (permalink)  
Antiguo 06/10/2009, 08:02
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 6 meses
Puntos: 0
Sonrisa Respuesta: Leer datos de un archivo dat

bueno compañero creo que soluciono tu percanse
mira el codigo que te presento:
aunque este lo hace es por lineas de texto espero ayudarte

package shamirtv;


import java.util.*;
import java.io.*;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;


public class LeerFicheroTexto {

public static void main(String[] args) {
LeerFicheroTexto cp =new LeerFicheroTexto();

//vector que va a contener las lineas del texto
String lineas[] = new String[20];

String fichero="C:\\shamirtv.docx"; //ruta del fichero
int l=cp.leer(fichero,lineas); //metodo que lee el archivo y guarda las lineas de texto en el vector
cp.imprimir(l,lineas); //metodo que imprime el vector por lineas

}

//metodo para leer texto
public int leer(String ruta, String lineas[]){
int i=0;

try {
FileReader fr = new FileReader(ruta);
BufferedReader bf = new BufferedReader(fr);


String cadena;

while ((cadena = bf.readLine())!=null) {
lineas[i]=cadena; //aqui le asigno cada linea al vector
i++;
}

} catch (FileNotFoundException fnfe){
fnfe.printStackTrace();
} catch (IOException ioe){
ioe.printStackTrace();
}

return i; //retorno la variable "i" para saber cuantas lineas se guardaron en el vector
}



public void imprimir(int pk, String lineas[]){
for(int g=0; g<pk; g++){
System.out.println(lineas[g]);
}
}


}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:49.