Обратите внимание, что в самом цикле вы устанавливаете
BufferedReader fileOut = new BufferedReader(new FileReader( READFILE ) );
Это приведет к созданию нового BufferedReader
!
В следующей итерации цикла - вы повторите эту строку, в результате сбросите fileOut
- и при вызове fileOut.readLine()
- она снова прочитает первую строку.
Вы должны инициализировать fileOut
перед циклом, а не в нем, чтобы решить его.