如何選擇我的程序中使用命令行參數運行的方法?例如,如果我希望我的程序處理名爲Moon.jpg的圖像,我如何使其工作,以便命令行中的-S Moon.jpg可以調用Scale方法?或者-HI Moon.jpg會水平翻轉圖像並翻轉它?我有一些編寫的方法,當我正常運行程序時它們會工作。從命令行參數控制程序
回答
http://commons.apache.org/cli/
這應該有所幫助。以下是如何使用它: http://commons.apache.org/cli/usage.html
您可能需要針對每個用途編寫不同的方法,並根據命令輸入設置if/else條件。
你可以用這樣的功能解析參數:
private void parseArguments(String[] args)
{
int i = 0;
String curArg;
while (i < args.length && args[i].startsWith("-"))
{
curArg = args[i++];
if ("-S".compareTo(curArg) == 0)
{
if (i < args.length)
{
String image = args[i++];
processImage()
}
else
{
// ERROR
}
}
}
}
你的主要方法應該始終有字串[] args包含參數拆分的空格字符。還有很多庫可以用來解析命令行參數。此方法與Apaches CLI庫使用的方法非常相似(當然,該庫附帶更多內容,但解析器使用此邏輯)。
謝謝Chris911。完全工作! ;-) – 2012-08-02 22:55:50
請不要猶豫,將答案作爲您接受的答案,然後;) – Chris911 2012-08-03 13:39:28
@ KimberleeGraham-Knight然後,您應該單擊此答案旁邊的複選標記。 – 2013-06-04 17:33:06
爲什麼不讀傳遞的參數和讀取隨後的值進行所需的東西 即
的Java yourprogram -A1東西-A2 somethingelse
,並在你的程序
public static void main(String[] args){
for(int i=0;i<args.length;i++){
switch(args[i]){//you can use if-else to deal with string...
case "-a1":read args[i+1] to get value to do somethng
case "-a2": read args[i+1] to get value to do something else
}
}
- 1. 具有SharePoint參數的VB.Net命令行(控制檯)程序
- 2. 從命令行參數製作窗口
- 3. 如何從python運行和控制命令行程序?
- 4. 從命令行執行控制檯應用程序?
- 5. 參數傳遞到命令行程序
- 6. 克利翁 - 命令行程序參數
- 7. 解析參數Java命令行程序
- 8. x86_64程序集命令行參數
- 9. 傳遞命令行java程序參數
- 10. 程序依賴於命令行參數
- 11. 從命令行參數
- 12. C#控制檯程序不會從命令提示符執行
- 13. 從Java控制檯程序的命令行中讀取段落
- 14. 從命令行運行python程序並指定參數
- 15. 將命令行參數傳遞給控制檯應用程序中的VB6 IDE
- 16. 試圖閱讀控制檯應用程序的某些命令行參數
- 17. .NET控制檯應用程序命令行解析文件參數
- 18. 在Visual Studio 2012 c#控制檯應用程序中設置命令行參數
- 19. 家長用戶控制命令參數
- 20. 製作帶參數的命令行程序
- 21. 如何製作一個帶參數的命令行程序?
- 22. 從控制器的Symfony3控制檯運行控制檯命令
- 23. 將命令行參數從C#應用程序傳遞給IronPython?
- 24. 如何從命令行將參數傳遞給golfscript程序
- 25. 如何使角應用程序從命令行獲取參數?
- 26. Java - 從程序中獲取輸出...命令行參數?
- 27. 從命令行控制Visual Studio插件
- 28. 如何從命令行控制IIS 5.1?
- 29. 命令行界面與過程控制
- 30. 命令行參數
你想調用Java內的程序就像運行它們在命令行想要檢索輸出? – kamaci 2012-08-01 18:35:05