2010-03-08 46 views
0

我有一個非常簡單的問題,我甚至在這裏搜索,但它比我發現的例子更簡單的情況。 我有一個java程序,它有一個簡單的System.in的主要功能....我只是想製作一個bat文件,它將運行java程序,然後自動輸入輸入流。批處理文件到java測試

我basicly想這是通過批處理文件做,所以我可以做一個測試平臺:

java Proj 
module array1{}

而且我想,他們是我的測試中運行多個模塊。提前

回答

0

我不知道是否有可能做到這一點與System.in,但

感謝你在備選方案中考慮的只是那些通過命令行參數,以你的主要方法是什麼?

0

好吧,我不確定你究竟在問什麼。是否有任何理由不能簡單地通過命令行傳遞你需要的參數?

例如,假設您的MyJavaClass類別採用main方法。你這樣稱呼它:

java MyJavaClass module1 module2 ... modulen

...然後假設你main方法是這樣的:

public static void main (String[] args) {

...你args陣列看起來像{"module1", "module2", ... "modulen"},你然後可以按照您認爲合適的方式進行處理並用於打開輸入流。

還是我完全錯過了這一點?

如果你想創建測試代碼,你有沒有看過JUnit呢?沒有必要重新發明輪子。

2

如果我理解正確,你想要的是運行java Proj,然後寫module array1{}或其他一些輸入到標準輸入。

如果這是正確的,你可以把你輸入的文本文件,說input.in而只需鍵入以下的批處理文件:

java Proj < input.in 

我沒有窗戶這裏環境檢查它,但我很確定它會起作用。

+0

這正是我想要的...在過去的2個小時。 Thx很多 –

+0

不客氣。順便說一句,如果你不想有一個額外的文件,通過使用這樣的東西,你可以使它更簡單: 'echo「module array1 {}」> java Proj' 這在Unix中肯定有效。但是,我不確定echo命令在Windows中是否可用,但肯定會有一些等價命令可以幫助您節省額外的文件。 –

0

調查junit。它專爲運行測試套件而設計。