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

Leer de un fichero

Estas en el tema de Leer de un fichero en el foro de Java en Foros del Web. Me estoy haciendo un lío con los Readers, Supongamos que tengo un fichero del tipo string1 string2 string3 string4 string5 string6 .... stringn stringm stringp ...
  #1 (permalink)  
Antiguo 21/11/2004, 06:38
 
Fecha de Ingreso: abril-2003
Mensajes: 32
Antigüedad: 21 años
Puntos: 0
Leer de un fichero

Me estoy haciendo un lío con los Readers,

Supongamos que tengo un fichero del tipo

string1 string2 string3
string4 string5 string6
....
stringn stringm stringp

es decir, muchas lineas con varias palabras en cada línea

y quiero que cada linea quede guardada en un vector de strings,
y a su vez todo el archivo sería un vector de vectores,

¿alguien sabe como se podría hacer?

Muchas gracias
  #2 (permalink)  
Antiguo 21/11/2004, 10:34
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
seria algo asi

Código PHP:
Vactor v = new Vector();
InputStreamReader in = new InputStreamReader(FileReader(new File("archivo.txt"));

String linea in.readLine();
while(
linea != null) {
    
String stk[] = lineal.split(" ");
    
v.add(stk);
    
linea in.readLine()

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 21/11/2004, 10:43
 
Fecha de Ingreso: abril-2003
Mensajes: 32
Antigüedad: 21 años
Puntos: 0
Gracias :), pero no me reconoce los metodos readLine() ni
FileReader, que librerías debería importar?
  #4 (permalink)  
Antiguo 21/11/2004, 10:49
 
Fecha de Ingreso: abril-2003
Mensajes: 32
Antigüedad: 21 años
Puntos: 0
Pero leyéndolo así tendría un vector con muchos strings, lo que yo quiero
es un vector de vectores, y en cada uno de esos sub-vectores meter todos los strings de cada linea

Por ejemplo, si el archivo es

casa perro gato
niño mesa puerta
loro tele hoja

debería haber un Vector Database que tuviera a su vez 3 vectores, cada uno
con 3 elementos
por ejemplo
v1 =[casa perro gato ]
v2 =[niño mesa puerta]
v3=[loro tele hoja]

y en el vector Database = [v1 v2 v3]

Perdón por haberme explicado mal antes, a ver si me puedes ayudar con esto.
  #5 (permalink)  
Antiguo 21/11/2004, 11:21
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
Ok, sorry, aqui esta el programa corregido

Código PHP:
Vector v = new Vector(); 
BufferedReader br = new BufferedReader(FileReader(new File("archivo.txt")); 

String linea br.readLine(); 
while(
linea != null) { 
    
v.add(new Vector(linea)); 
    
linea br.readLine() 

Las libreria sque debes importar son

java.io y java.util

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #6 (permalink)  
Antiguo 21/11/2004, 12:06
 
Fecha de Ingreso: abril-2003
Mensajes: 32
Antigüedad: 21 años
Puntos: 0
Cita:
Iniciado por goncafa
Ok, sorry, aqui esta el programa corregido

Código PHP:
Vector v = new Vector(); 
BufferedReader br = new BufferedReader([COLOR=Red]new[/COLORFileReader(new File("archivo.txt")); 

String linea br.readLine(); 
while(
linea != null) { 
    
v.add(new Vector(linea)); 
    
linea br.readLine() 

Las libreria sque debes importar son

java.io y java.util

Saludos
Me da 2 fallos de compilación, uno lo he quitado poniendo el new ( que he indicado en rojo arriba)

Pero en la línea
v.add(new Vector(linea));

me dice
Cannot resolve symbol constructor Vector(java.lang.string)

Cómo puedo solucionarlo?
Gracias.
  #7 (permalink)  
Antiguo 21/11/2004, 12:11
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
Código PHP:
v.add((new Vector()).add(linea)); 
Con respecto al error de arriba, no se por que te lo da, mira este es un ejemplo extraido directamente de la API de SUN de BufferedReader

Código PHP:
BufferedReader in
   
= new BufferedReader(new FileReader("foo.in")); 
LA unica diferencia es que el nombre de archivo de pasa como String y no como File, pero tambien al consultar FileReader hacepta como parametro un File sin problemas.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #8 (permalink)  
Antiguo 21/11/2004, 12:24
 
Fecha de Ingreso: abril-2003
Mensajes: 32
Antigüedad: 21 años
Puntos: 0
Cita:
Iniciado por goncafa
Código PHP:
v.add((new Vector()).add(linea)); 
Con respecto al error de arriba, no se por que te lo da, mira este es un ejemplo extraido directamente de la API de SUN de BufferedReader

Código PHP:
BufferedReader in
   
= new BufferedReader(new FileReader("foo.in")); 
LA unica diferencia es que el nombre de archivo de pasa como String y no como File, pero tambien al consultar FileReader hacepta como parametro un File sin problemas.

Saludos

Muchas gracias. Lo de arriba ya está resuelto, el único problema ahora es que en la línea
v.add((new Vector()).add(linea));

da el siguiente error:

cannot resolve symbol method add(boolean)
  #9 (permalink)  
Antiguo 21/11/2004, 12:55
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
Es muy raro que te ese error por que linea no es un boolean, es un String

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #10 (permalink)  
Antiguo 21/11/2004, 14:21
 
Fecha de Ingreso: abril-2003
Mensajes: 32
Antigüedad: 21 años
Puntos: 0
v.add((new Vector()).add(linea));

A lo mejor se refiere al primer add, en el que estamos metiendo el retorno de otro add ( un boolean?). Ando un poco perdido
  #11 (permalink)  
Antiguo 21/11/2004, 19:22
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
Tienes toda la razon del mundo.
Entonces hazlo asi dentro del while

Código PHP:
Vector v2 = new Vector();
v2.add(linea);
v.add(v2); 
Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #12 (permalink)  
Antiguo 23/11/2004, 04:44
 
Fecha de Ingreso: abril-2003
Mensajes: 32
Antigüedad: 21 años
Puntos: 0
Muchísimas gracias.

Ahora tengo que hacer una modificación.

Imagina que tengo en un string de n elementos separados por espacio:

"pepe juan casa gato ..."

Quiero convertirlo en un vector de n elementos, hay alguna función que pueda hacer eso?
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 01:16.