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