ログをファイルに書き込むプログラムを実行していて、それを 1 行ずつ読みたいと思っています。InputStream、特にDataInputStream、その利用可能な方法を使用してみました。しかし、それにはreadLineメソッドがなく、非推奨であり、BufferedReader使用するためにラップすることが提案されましたreadLine。しかし、私がBufferedReaderそれを使用すると、すべての行を読み取るのではなく、どういうわけか1行の読み取りで停止します。
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 のドキュメントによると、BufferedReader. しかし、それではreader.readLine()期待どおりに機能しません。
また、これは標準的な問題であると確信しているため、これを行うための他のより良い Java の方法はありますか。Trailer クラスについてどこかで読みました。しかし、それをテストすることはできません。