连续读取文件而不阻止Java中的写入

时间:2016-06-15 19:57:34

标签: java file read-write

我想在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程序中的输入流。但我不知道这是可能的。

0 个答案:

没有答案