我想在java中编写一个程序,它能够连续读取文件中的添加内容(日志文件的种类)。 该文件由另一个程序创建。
问题是,当java开始读取时,其他程序停止写入此文件。奇怪的是,当用Java读取它时,我可以用Notepad ++写入这个文件,然后Java也会识别文件中的添加内容。
所以我现在需要的是一种用Java读取文件的方法,而不会让其他问题知道该文件当前是由Java使用的。
这是我目前正在使用的代码:
String buffer;
FileReader fr = new FileReader("filename.xyz");
BufferedReader br = new BufferedReader(fr);
while (true) {
if (!fr.ready()) {
Thread.sleep(1000);
continue;
}
while ((buffer = br.readLine()) != null)
System.out.println(buffer);
}
另一个想法是将所有写入文件的内容重定向到我的Java程序中的输入流。但我不知道这是可能的。