我想通过在文件到达 EOF 时向文件添加数据来重新读取文件。但是添加数据后的第二次读取不起作用。
这是我的代码
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。谁能告诉我我的程序有什么问题?