1
我在UNIX环境中有一个Java程序,它需要将行缓冲数据传递到System.in中。从终端的键盘输入如何将行缓冲数据从文件重定向到程序而不是块缓冲数据
传递是好的,但是如果我尝试从文件的输入重定向的方式,如:
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
,但还没有任何运气。
任何想法或建议吗?
是的,我应该澄清。 java程序被设计为对非线性缓冲输入失败,并且应该假定“the_program”可以是接受标准输入的任何程序。目标是通过键盘模拟用户输入,但是用文本文件中的预定义测试。 – Milo 2010-11-20 01:20:03