我在 UNIX 环境中有一个 java 程序,它需要将行缓冲数据传递到 System.in。
从终端传入键盘输入很好,但是如果我尝试以如下方式重定向来自文件的输入:
java the_program < input.txt
该程序将无法正常执行。
我可以通过哪些方式将行缓冲而不是块缓冲数据通过标准输入传递到程序中?
我试过了:
stdbuf -oL cat input.txt | java the_program
和
stdbuf -i0 java the_program < input.txt
也
grep --line-buffered . input.txt | java the_program
但没有任何运气。
有什么想法或建议吗?