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");
}
}