我有一个正在运行的程序将日志写入文件,我想逐行读取它。我尝试使用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()一起使用,但已被弃用,根据Java文档,它使用BufferedReade r表示。但是使用reader.readLine()时,它没有按我预期的那样工作。
另外,还有什么其他更好的java方式可以做到这一点,因为我确定这是一些标准问题。我