Estou comparando 2 arquivos de texto, quero imprimir uma linha abaixo da outra, e no final ter o total de linhas em cada arquivo, mas não funciona, assim que alguma das variaveis line tem o valor null, o algoritmo sai de dentro do while. oque pode estar acontecendo de errado com meu código?
public static void compare(File file1, File file2){
// Este método faz a comparação de quantidade de sentenças de cada arquivo
int blankLine1 = 0;
int lineCount1 = 0;
int blankLine2 = 0;
int lineCount2 = 0;
int teste = 0;
if(!file1.exists())
{
System.exit(-1);
}
try {
BufferedReader in = new BufferedReader(new FileReader(file1));
String line = in.readLine();
BufferedReader in2 = new BufferedReader(new FileReader(file2));
String line2 =in2.readLine();
while((line != null)||(line2 != null))
{
teste++;
if (in.readLine() != null) {
lineCount1++;
}
if (in2.readLine() != null ){
lineCount2++;
}
System.out.println(line+'\n');
System.out.println(line2);
System.out.println();
if(line.trim().length()==0){
blankLine1++;
}
if(line2.trim().length()==0){
blankLine2++;
}
line = in.readLine();
line2 = in2.readLine();
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Arq. 1 - qtd linhas :"+lineCount1);
System.out.println("Arq. 2 - qtd linhas :"+lineCount2+'\n');
System.out.println("Arq. 1 - linhas em branco :"+blankLine1);
System.out.println("Arq. 2 - linhas em branco :"+blankLine2);
System.out.println("teste: "+teste);
}