PrintStream を使用してテキスト ファイルにいくつかの数値を書き込み、次に RandomAccessFile を使用して同じファイルから読み取る割り当てがあります。書き込み部分は意図したとおりに機能しますが、コードを実行すると次の出力が得られます。
807416096
840971040
874525984
Exception in thread "main" java.io.EOFException
908080928
941635872
at java.io.RandomAccessFile.readInt(RandomAccessFile.java:776)
at Problema4.main(Problema4.java:21)
Java Result: 1
コードは次のとおりです。
import java.io.*;
import java.util.*;
public class Problema4 {
public static void main(String[] args) throws IOException, FileNotFoundException
{
PrintStream ps = new PrintStream(new FileOutputStream("fisiernou.txt"));
int i=0;
while (i<11)
{
ps.print(i);
ps.print(" ");
i++;
}
ps.close();
RandomAccessFile raf = new RandomAccessFile("fisiernou.txt", "r");
raf.seek(0);
//System.out.println(raf.readInt());
while (raf.getFilePointer()<raf.length())
System.out.println(raf.readInt());
raf.close();
}
}