私は、Unixコマンド "tail -f"をBufferedInputStreamにラップする必要があります。私はthis questionで述べたように、模擬したり模倣したりしたくありません。むしろ、私は新しい行を与えるのを待って、尾を使用したい。Java "tail -f" wrapper
3
A
答えて
14
あなたの最善の策はProcess
クラスを使用して読むことですScanner
:
Runtime r = Runtime.getRuntime()
Process p = r.exec("tail -f")
Scanner s = new Scanner(p.getInputStream())
while (s.hasNextLine()) {
String line = s.nextLine()
// Do whatever you want with the output.
}
hasNextLine()
あなたがデータとして多忙待ちをされませんので、それは入力ストリームからの複数の入力を待っていてブロックする必要があります入って来またProcessBuilder
1
0
私は、tailコマンドが終了するまでプログラムがブロックされるため、system()とpopen()型のアプローチは動作しないと推測しています。
出力をファイルにリダイレクトし、最後のバージョンに対して 'diff'を使用して、新しい行を確認することはできますか?
0
あなたは
tail -f <file> | <some java program>
は、その後、尾はしばらくの間ブロックすることがありInputStream
として現れるUNIXコマンドを使用している場合。あなた自身をブロックしたくない場合は、nioパッケージを使用します。 tailコマンドにアクセスする他のほとんどの方法(Process
など)の結果は、同様のInputStream
になると私は信じています。
1
チェック:。
Process tail = new ProcessBuilder("tail", "-f", file).start();
BufferedInputStream bis = new BufferedInputStream(tail.getInputStream())
は、は "/ var/log/messages"のような文字列です。
0
関連する問題
- 1. tail -f node.jsの実装
- 2. tail -Fとjsonの組み合わせ
- 3. 崇高なテキスト2 tail -f in windows
- 4. Perlでtail -fをシミュレートする
- 5. Cの "tail -f"機能のカスタム実装
- 6. JavaのリモートUnixシステムから "tail -f"ファイルを作成する方法は?
- 7. javaプログラムからtail -fコマンドを停止する方法はありますか?
- 8. ラズベリーPIのJava Service Wrapper
- 9. Perl/PythonコードへのJava Wrapper
- 10. emacs、la tail -f以下のバッファをフォローする
- 11. 「hadoop fs -tail -f」のプログラムに相当します。
- 12. 'grep -q'が 'tail -f'で終了しない
- 13. tail -fコマンドをサブシェルで実行する方法
- 14. awsログをリアルタイムで表示する方法(tail -fなど)
- 15. tail -f grep into cutが正しく動作しない
- 16. tailの-fフラグは何をしますか?
- 17. rubyでバックティックがtail -fコマンドで機能しない
- 18. 100%CPUを使用しないtail -f pythonスクリプトを書く
- 19. Windowsにtail -fと同等の機能はありますか?
- 20. リアルタイムで `tail -f`出力を修正します
- 21. Java Wrapper Script with sudo does not work
- 22. Geektool and tail follow
- 23. linux tailコマンド
- 24. C++二重リンクリスト "tail tail"関数
- 25. phpのファイルの読み込みを変更する(tail -fのlinuxに相当)
- 26. unixリダイレクトtail to file
- 27. tail Robot Frameworkのログファイル
- 28. Redis Foreign Data Wrapper
- 29. PropertyGrid - Collection Edition/Wrapper
- 30. C#Ghostscript Wrapper
ありがとう!それはとてもうまくいく。 – geowa4
唯一の問題は、最後に改行文字が必要であることです – geowa4