我有一个正在运行的程序,它将日志写入文件,我想逐行读取它。我尝试使用InputStream
,特别是DataInputStream
使用它的可用方法。但是后来它没有readLine
方法,它已被弃用,建议将它包装起来BufferedReader
使用readLine
。但是当我使用BufferedReader
它时,它不会读取所有行,它会以某种方式停止读取一行。
public void read(DataInputStream ins) {
try {
while(true) {
if(ins.available() > 0) {
//BufferedReader reader = new BufferedReader(new InputStreamReader(ins));
//System.out.println(reader.readLine());
System.out.println(ins.readLine());
}
else {
Thread.sleep(200);
}
}
}
catch(Exception e) {
e.printStackTrace();
}
}
因此,该代码适用于ins.readLine()
,但它已被弃用,并且根据它使用BufferedReade
r 说的 java 文档。但是reader.readLine()
它并没有像我预期的那样工作。
此外,还有什么其他更好的 java 方法可以做到这一点,因为我确信这是一些标准问题。我在某处读到了预告片类。但无法测试。