InputStream
ファイルから一定の間隔で行を提供する を書いています。私はBufferedReader
以前使用していましたが、バッファリングの問題に遭遇しました (ファイル全体が読み取られるまで何も取得されませんでした)。とにかく速度は問題ではありません (間隔は毎秒、または 0.5 秒ごとのようなものです - それらの行に沿って)。バッファリングされていないことを除いて、のreadLine
ようなメソッドを持つクラスはありますか?BufferedReader
(編集:確認しました-クラスは機能しているようです。明らかに問題は出力にありました)
ストリーム ( OnlineDataSimulator
) を使用したコードを次に示します。私はすでにチェックしましたが、ストリームはまさに私が望んでいることをしているので、出力に何か問題があるようです。(実際の問題は、出力を X ミリ秒ごとに発生させたいことです。X は の 2 番目のパラメーターOnlineDataSimulator
です。このコードを実行すると、最初に X*lines が待機し、次に出力全体が一度に出力されます。)
System.out.println("Testing:");
PrintStream fout = new PrintStream(new FileOutputStream("testfile"));
for(int i=0; i<20; ++i) {
fout.println(i);
}
fout.close();
BufferedReader fin = new BufferedReader(new InputStreamReader(
new OnlineDataSimulator("testfile",250)));
String line;
while((line=fin.readLine())!= null){
System.out.println(line);
System.out.flush();
}
fin.close();
(new File("testfile")).delete();