Nie działa kod

0

Witam, udało mi się napisać taki kod, ogólnie chciałbym, żeby za pomocą RAF-a przejść przez dane zapisane w pliku i wykonać na nich operacje, które mam na pisane w pętlach if.
Niestety, pokazuję mi taki błąd:
Exception in thread "main" java.io.EOFException
at java.io.RandomAccessFile.readChar(RandomAccessFile.java:773)
at cwiczenie10.Cwiczenie10.zwiekszanie(Cwiczenie10.java:26)
at cwiczenie10.Cwiczenie10.main(Cwiczenie10.java:50)

Z góry dziękuję za pomoc.

package cwiczenie10;

import java.io.RandomAccessFile;
import java.io.FileNotFoundException;
import java.io.IOException;

public class Cwiczenie10 {

    public static void  zwiekszanie(String plik) throws FileNotFoundException, IOException{
        
       
        
        
        RandomAccessFile raf = new RandomAccessFile(plik, "rw" );

          
        while(raf.getFilePointer() < raf.length()){

                String imie = raf.readLine();
                String nazwisko = raf.readLine();
                long pozycja = raf.getFilePointer();
                double pensja = raf.readDouble();
                int wiek = raf.readInt();
                char płeć = raf.readChar();
                int min = 150;
               
                if(płeć == 'M' && wiek > 50){
                    raf.seek(pozycja);
                    raf.writeDouble(pensja*1.1);
                    System.out.println(pensja);
                   
                    
                }
                else if(płeć == 'K' && wiek < min){
                    min = wiek;
                    System.out.println(min);
                }
     
      }
   
      raf.close();  
      
        }
           
    
    public static void main(String[] args) throws IOException {
        
        zwiekszanie("plik.txt");
    }
    
}
0

Z tego, że nie jesteś jeszcze na końcu pliku nie wynika, że uda Ci się jeszcze odczytać dwa wiersze i kilka liczab.

1 użytkowników online, w tym zalogowanych: 0, gości: 1