Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/05/2011, 10:15
sonia949
 
Fecha de Ingreso: abril-2011
Mensajes: 10
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: leer archivo por campos

Lo siento, si que he conseguido meter campos[i], error mio, lo siento.

Aun asi, no hace exactamente lo que quiero. porque en campos[] se queda guardada la ultima linea, y no la que coincide con el valor que yo le marco. Como yo al final lo que quiero es quedarme con el array de la linea que coincide con mi variable "padre", habia pensado copiar esa tabla a otra llamada copia, para que se me quedaran ahi guardados los valores que yo quiero. pero tampoco me va bien :( te paso el codigo:



import java.io.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;



public class Ficheros {
public static void main(String[] args) {
File f = new File("fichero.txt");
Scanner s;
int d;

try {
s = new Scanner(f);
do{
String linea = s.nextLine();

Scanner sl = new Scanner(linea);
Scanner s2 = new Scanner(linea);
sl.useDelimiter("\\s*,\\s*");
s2.useDelimiter("\\s* \\s*");
String padre="blanco";
String e=s2.next();

String a=sl.next();
String b=sl.next();
d = padre.compareTo(b);
String c=sl.next();

String []campos = linea.split(",");
String []copia = new String[campos.length];
for(int i =0;i<campos.length;i++){
//System.out.println("los campos son "+campos[i]);
if(d==0){
//guarda esa linea
System.out.println("padre encontrado");
System.out.println("la linea es: "+e);
for(int j=0;j<campos.length;j++){
copia[j]=campos[j];
}
//System.out.println("los campos son "+campos[i]);
//System.out.println("b es "+b);
//System.out.println("c es "+c);
}

System.out.println(" ");
}
for(int k =0;k<campos.length;k++){
System.out.println("los campos de copia son "+copia[k]);
}




}while (s.hasNextLine());
s.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}




Muchisimas gracias