我有一個非常簡單的問題,我甚至在這裏搜索,但它比我發現的例子更簡單的情況。 我有一個java程序,它有一個簡單的System.in的主要功能....我只是想製作一個bat文件,它將運行java程序,然後自動輸入輸入流。批處理文件到java測試
我basicly想這是通過批處理文件做,所以我可以做一個測試平臺:
java Proj module array1{}
而且我想,他們是我的測試中運行多個模塊。提前
我有一個非常簡單的問題,我甚至在這裏搜索,但它比我發現的例子更簡單的情況。 我有一個java程序,它有一個簡單的System.in的主要功能....我只是想製作一個bat文件,它將運行java程序,然後自動輸入輸入流。批處理文件到java測試
我basicly想這是通過批處理文件做,所以我可以做一個測試平臺:
java Proj module array1{}
而且我想,他們是我的測試中運行多個模塊。提前
我不知道是否有可能做到這一點與System.in,但
感謝你在備選方案中考慮的只是那些通過命令行參數,以你的主要方法是什麼?
好吧,我不確定你究竟在問什麼。是否有任何理由不能簡單地通過命令行傳遞你需要的參數?
例如,假設您的MyJavaClass
類別採用main
方法。你這樣稱呼它:
java MyJavaClass module1 module2 ... modulen
...然後假設你main
方法是這樣的:
public static void main (String[] args) {
...你args
陣列看起來像{"module1", "module2", ... "modulen"}
,你然後可以按照您認爲合適的方式進行處理並用於打開輸入流。
還是我完全錯過了這一點?
如果你想創建測試代碼,你有沒有看過JUnit呢?沒有必要重新發明輪子。
如果我理解正確,你想要的是運行java Proj
,然後寫module array1{}
或其他一些輸入到標準輸入。
如果這是正確的,你可以把你輸入的文本文件,說input.in而只需鍵入以下的批處理文件:
java Proj < input.in
我沒有窗戶這裏環境檢查它,但我很確定它會起作用。
調查junit。它專爲運行測試套件而設計。
這正是我想要的...在過去的2個小時。 Thx很多 –
不客氣。順便說一句,如果你不想有一個額外的文件,通過使用這樣的東西,你可以使它更簡單: 'echo「module array1 {}」> java Proj' 這在Unix中肯定有效。但是,我不確定echo命令在Windows中是否可用,但肯定會有一些等價命令可以幫助您節省額外的文件。 –