BufferedReader пропускает каждую другую строку при чтении моего файла в java

Итак, я работаю над чтением файла, содержащего записи, которые я написал ранее в своем коде. Я хочу просеять текстовый файл и найти встречи в определенную дату и добавить их в ArrayList, но когда BufferedReader проходит через него, он пропускает любую другую строку … Heres my code

public ArrayList read(int checkDay, int checkMonth, int checkYear) { ArrayList events = new ArrayList(); BufferedReader in = null; String read; try { in = new BufferedReader(new FileReader("calendar.txt")); while ((read = in.readLine()) != null) { read = in.readLine(); String[] split = read.split(","); System.out.println(read); if (split[1].equals(Integer.toString(checkDay)) && split[2].equals(Integer.toString(checkMonth)) && split[3].equals(Integer.toString(checkYear))) { events.add(split[0] + " : " + split[1] + "/" + split[2] + "/" + split[3]); } } } catch (IOException e) { System.out.println("There was a problem: " + e); e.printStackTrace(); } finally { try { in.close(); } catch (Exception e) { } } return events; } 

    Вы читаете строку дважды.

     while ((read = in.readLine()) != null) { // here read = in.readLine(); // and here 

    У вас есть ошибка здесь:

     while ((read = in.readLine()) != null) read = in.readLine(); 

    вы должны сохранить read = in.readLine () в то время. и удалите другую строку.

    попробуйте это

    вы используете «read = in.readLine ())« два раза в цикле while, почему он пропускает ломы

     public ArrayList read(int checkDay, int checkMonth, int checkYear) { ArrayList events = new ArrayList(); BufferedReader in = null; String read; try { in = new BufferedReader(new FileReader("calendar.txt")); while ((read = in.readLine()) != null) { String[] split = read.split(","); System.out.println(read); if (split[0].equals(Integer.toString(checkDay)) && split[1].equals(Integer.toString(checkMonth)) && split[2].equals(Integer.toString(checkYear))) { events.add(split[0] + " : " + split[1] + "/" + split[2] + "/" + split[3]); } } } catch (IOException e) { System.out.println("There was a problem: " + e); e.printStackTrace(); } finally { try { in.close(); } catch (Exception e) { } } return events;