Ho scritto il seguente programma:

public class LogFileOperations extends OpenLogFile{

OpenLogFile File = new OpenLogFile();

ArrayList ID = new ArrayList(1);

public void ExamineString(String[] args) throws IOException{

File.OpenFile(args);


while((line!=null)){
String z="-!-";
String y = line.substring(6, 9);
int j=y.compareTo(z);
String b=" * ";
int a=y.compareTo(b);
String d="---";
String c= line.substring(0, 3);
int e=c.compareTo(d);

if ((j!=0) && (a!=0) && (e!=0)){

String Time=line.substring(0, 5);
String UserID = line.substring(line.indexOf('<'), line.indexOf('>')+1);
String Text = line.substring(line.indexOf('>')+2, line.length());

if ((ID.isEmpty())) ID.add(UserID);

else if (!ID.contains(UserID)) ID.add(UserID);



}
line = br.readLine();
}
System.out.println(ID.size());
}

}
Ho un problema con il system.out.println che non mi visualizza. Se invece lo inserisco nel ciclo while stampa però in maniera ciclica.

Qualcuno di voi sa come risolvere il problema.

Grazie