Логика программы описана в комментариях в коде Возможно, проблема в том, что я повторно считываю файл, закрывая и открывая заново поток Но условию, по идее, это соответствует