System.in にライン バッファ データを渡す必要がある UNIX 環境の Java プログラムがあります。
端末からキーボード入力を渡すことは問題ありませんが、次のような方法でファイルから入力をリダイレクトしようとすると:
java the_program < input.txt
プログラムは正しく実行されません。
ブロックバッファリングされたデータをstdin経由でプログラムに渡すのではなく、どのように行バッファリングすることができますか?
私が試してみました:
stdbuf -oL cat input.txt | java the_program
と
stdbuf -i0 java the_program < input.txt
としても
grep --line-buffered . input.txt | java the_program
しかし、運がありませんでした。
アイデアや提案はありますか?