No veo la necesidad de un array adicional.
Sólo tienes que ir comprobando en cada iteración del bucle si se cumple la condición que buscas y si es así sales del bucle.
Sigues poniendo los Scanner s1 y s2. No entiendo para que los necesitas teniendo la función split que te he indicado.
Código C:
Ver originalpackage pruebafichero;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;
public class Ficheros {
public static void main(String[] args) {
Scanner s;
int d;
try {
File f = new File("C:\\fichero.txt");
s = new Scanner(f);
boolean salir=false;
while (s.hasNextLine() && !salir){
String linea = s.nextLine();
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 a = campos[0];
String b = campos[1];
d = padre.compareTo(b);
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: "+linea);
salir=true;
//System.out.println("los campos son "+campos[i]);
//System.out.println("b es "+b);
//System.out.println("c es "+c);
}
};
s.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}