в коде
while (w.hasNextLine()) {
String lineW = w.nextLine();
countLinesInW++;
while(s.hasNextLine()) {
String lineS = s.nextLine();
if(lineS.equals(lineW)){
j++;
}
}
}
s.hasNextLine () всегда ложно после того, как сканер w завершил чтение всего файла один раз.
Ваша цель - получить количество одинаковых строк из обоих CSV-файлов, я бы посоветовал прочитать все строки и сохранить их сначала в двух списках, а затем сравнить два
списки, чтобы получить количество похожих строк. Что-то вроде
List<String> linesInFile1 = new ArrayList<>();
List<String> linesInFile2 = new ArrayList<>();
while (w.hasNextLine()) {
String lineW = w.nextLine();
linesInFile1.add(lineW);
}
while(s.hasNextLine()) {
String lineS = s.nextLine();
linesInFile2.add(lineS);
}
linesInFile1.retainAll(linesInFile2);
j = linesInFile1.size();
Обратите внимание, что метод retainAll сохраняет общие элементы в обоих списках.