Я читаю файл, содержащий ключевые слова построчно, и обнаружил странную проблему.Я надеюсь, что строки, которые следуют друг за другом, если их содержимое одинаково, должны обрабатываться только один раз.Как и
sony
sony
, обрабатывается только первый.но проблема в том, что Java не рассматривает их как равные.
INFO: [, s, o, n, y]
INFO: [s, o, n, y]
Мой код выглядит следующим образом, в чем проблема?
FileReader fileReader = new FileReader("some_file.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
String prevLine = "";
String strLine
while ((strLine = bufferedReader.readLine()) != null) {
logger.info(Arrays.toString(strLine.toCharArray()));
if(strLine.contentEquals(prevLine)){
logger.info("Skipping the duplicate lines " + strLine);
continue;
}
prevLine = strLine;
}
Обновление:
Кажется, в первой строке есть пробел, но на самом деле это не так, и подход trim
не работает для меня.Они не одинаковы:
INFO: [, s, o, n, y]
INFO: [ , s, o, n, y]
Я не знаю, какой первый Char добавлен Java.
Решено: проблема была решена с помощью Решение BalusC Спасибо, что указали на проблему спецификации, которая помогла мне быстро найти решение.