Hola, 
 
estoy trabajando con ficheros y me he econtrado con una duda que no consigo resolver. resulta que yo quiero leer ficheros, que estarian de la siguiente manera:
 
Hola,adios,ciao                                  (al final de cada linea he puesto un espacio)
mañana,tarde,noche
azul,blanco,negro
 
entonces quiero leer campo a campo y si encuentro el nombre que busco, guardarme en un variable esa linea entera. eso lo hago con este codigo:
 
 
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();
 
				if(d==0){
					//guarda esa linea
					System.out.println("padre encontrado");
					System.out.println("la linea es: "+e);
					System.out.println("a es "+a);
					System.out.println("b es "+b);
					System.out.println("c es "+c);
				}
				System.out.println(" ");
			}while (s.hasNextLine());
			s.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}
}	
 
 
 
La duda viene cuando quiero hacer lo mismo, pero no sabiendo cuantos campos hay en cada linea. Tendre lineas con dos campos, y tendre lineas con 20. He pensado en un while cuya condicion de parada sea que encuentre el espacio, y entonces pase a la siguiente linea y empiece de nuevo con la linea nueva, pero no se como expresar esa condicion de parada. Tampoco estoy segura de que esto funcionara. Alguna idea?? Gracias 
  
 

