ファイルが EOF に達したときにデータを追加して、ファイルを再読み込みしたい。しかし、データを追加した後の 2 回目の読み取りは機能しません。
これは私のコードです
File f = new File("sample.csv");
byte[] bb= new byte[(int)f.length()];
RandomAccessFile raf = new RandomAccessFile (f, "r");
int bytesread=0;
bytesread = raf.read(bb, 0,(int)f.length());
//bytesread =302 or something
raf.seek(f.length());
Thread.sleep(4000);
bytesread = raf.read(bb,0,2);
//bytesread = -1 instead of 2
raf.close();
私がやっていることは、最初にファイルの内容を読んでいることです。最初の読み取り中に、bytesread = 302などと言ってください。EOFへのポインタを探し、ファイルにデータを追加して再度読み取りますが、必要な結果bytesread = 2ではなく、bytesreadを-1として取得しています。私のプログラムの何が問題なのか誰か教えてもらえますか?