我想在 weblogic 写入日志(缓冲)时使用 java 读取 weblogic 日志文件,但我只想读取开始读取时出现的内容。
我该怎么做?
public class DemoReader implements Runnable{
public void run() {
File f = new File ("c:\\test.txt");
long length = f.length();
long readedBytes = 0;
System.out.println(length);
try {
BufferedReader fr = new BufferedReader(new FileReader(f));
String line = "";
while((line = fr.readLine()) != null && readedBytes < length){
readedBytes += line.getBytes().length;
if(readedBytes > length){
break;
}else{
System.out.println(line);
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
最佳答案
可以在开始读取的那一刻获取文件的大小,然后读取N
个字节(假设文件没有被写入者锁定,其内容来自0
到 N
不会改变)。
关于Java IO - 读取一个大文件,而其他应用程序写入它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4284782/