2013-10-06 35 views
0

我喜歡依靠參數列表完成工作的Java程序。現在我想在Windows或Linux上進行單元測試。所以我只是想從文本文件中將參數輸入到程序中。不改變任何程序。它甚至有可能嗎?來自文件的Java feed cmd參數

喜歡的東西:

java MyProgram **-arg "test.txt"** 

java MyProgram **< test.txt** 

java MyProgram **type text.txt** 

一切加粗是ofcourse我做的並沒有工作,但現在我認爲我的觀點很清楚。

+1

你怎麼測試計劃?爲什麼不使用適當的測試框架,比如JUnit,你可以用你想要的任何參數手動運行'main'。不要重新發明輪子。 –

+0

我還挺新的Java。我想知道是否有語言獨立的事情。好奇而已。 – Machiaweliczny

回答

0

對於Linux:

 
PROGRAM="java MyProgram "`cat test.txt` 
exec $PROGRAM 

我想,那一定是爲Windows

0

man xargs類似的東西:

xargs的讀取從標準輸入項目 ,用空格分隔(這可以使用雙引號或單引號或反斜線來保護 )或換行符,並執行 該命令(默認爲/ bin/echo)一次或多次使用任何初始參數,然後從標準輸入中讀取項目。

所以,你可以做

cat test.txt | xargs java MyProgram 
0

不能你通過文件作爲參數,然後再處理它你的程序裏面? 如果這是確定與您

你可以運行你的程序如下

java yourclass argfilenamewithpath