私はこの質問について助けを求めていましたが、RAFについて多くのものを見つけましたが、私の質問に答えるものは何も見つかりませんでした。働いている!ファイルからRandomAcessFileを読み込もうとしたときにEOFExceptionエラーが発生しました
私は後でそれを使用してデータベースを構築するためにRAFについて学ぶためにしようとしているように、私はこれらの2つの方法で構成されたデータと呼ばれる単純なクラスを作成しました:
// Writing the desired String into the file
public void writeFile (String text) {
try {
RandomAccessFile raf = new RandomAccessFile("text.dat", "rw");
raf.seek(raf.length());
raf.writeUTF(text);
raf.close();
} catch (IOException e) {
System.out.println("IOException when writing");
}
}
// Reading from the file and returning as a single string
public String readFile() {
String output = "";
try {
RandomAccessFile raf = new RandomAccessFile("text.dat", "r");
raf.seek(0);
output = raf.readUTF();
raf.close();
} catch (EOFException ef) {
} catch (FileNotFoundException e) {
System.out.println("File not found");
} catch (IOException e) {
System.out.println("IOException when reading");
e.printStackTrace();
}
return output;
}
私は私からこれらのメソッドを呼び出すいますmainクラスのmainメソッド:
Scanner in = new Scanner(System.in);
String input;
Data data = new Data();
System.out.print("Input text here: ");
input = in.nextLine();
data.writeFile(input);
System.out.println(data.readFile());
ただし、readFileメソッドは空のStringだけを返します。何が間違っているのか分かりません。
ありがとうございました!
例外についての質問を投稿するときは、コードとしてフォーマットされた完全な例外を含める必要があります(エディタ内の '{} 'ボタンを使用してすべてのスペースをインデントします)。あなたは医者に行き、 "気分が良くない"以外の症状を話さずに診断することを期待していますか? –
ありがとう、私は今私の投稿を編集しました。これは私の初めての投稿であり、私は行ってから悪い印象を受けたのは残念です。 –
例外自体を除外しました。 – EJP