小編給大家分享一下在Java中使用命令行參數的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯建站長期為上千余家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態(tài)環(huán)境。為樂至企業(yè)提供專業(yè)的網站建設、網站制作,樂至網站改版等技術服務。擁有10余年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
命令行參數可以是為應用程序指定配置屬性的一種方式,Java也不例外。您可以從終端窗口運行Java應用程序,而不是單擊操作系統(tǒng)中的應用程序圖標 。除了應用程序名稱之外,還可以跟隨許多參數,然后將這些參數傳遞給應用程序的起始點(即,在Java的情況下為main方法)。
例如,NetBeans具有許多啟動參數,當從終端窗口運行時,可以將這些參數傳遞給應用程序(例如,-jdkhome 指定要使用的JDK的版本,而不是與NetBeans應用程序關聯的默認JDK)。
main方法
讓我們檢查一下main方法 ,看看傳遞給應用程序的參數出現在哪里:
public static void main(String[] args) { ...do something here }
命令行參數可以在名為的String 數組中找到args。
例如,讓我們考慮一個被調用的應用程序,CommandLineArgs其唯一的操作是打印傳遞給它的命令行參數:
public class CommandLineArgs { public static void main(String[] args) { //檢查字符串數組是否為空 if (args.length == 0) { System.out.println("There were no commandline arguments passed!"); } //對于字符串數組中的每個字符串 //打印出字符串。 for(String argument: args) { System.out.println(argument); } } }
命令行參數的語法
Java運行時引擎(JRE)期望遵循特定語法傳遞參數,如下所示:
java ProgramName value1 value2
在上面,“java”調用JRE,后跟您正在調用的程序的名稱。接下來是程序的任何參數。程序可以采用的參數數量沒有限制,但順序很重要。JRE按照它們在命令行中出現的順序傳遞參數。例如,請考慮以上代碼段:
public class CommandLineArgs2 { public static void main(String[] args) { if (args.length == 0) { System.out.println("There were no commandline arguments passed!"); }
當參數傳遞給Java程序時,args[0]是數組的第一個元素(上面的value1), args[1]是第二個元素(value2),以此類推。length()代碼定義了數組的長度。
通過命令行參數
在NetBeans中,我們可以傳遞命令行參數,而不必構建應用程序并從終端窗口運行它。要指定命令行參數:
右鍵單擊“項目”窗口中的“項目”文件夾。
選擇Properties選項以打開項目屬性窗口。
在右邊的Categories列表中,選擇Run。
在出現的Arguments文本框中,指定要傳遞給應用程序的命令行參數。例如,如果我們在Arguments文本框中輸入Apple Banana Carrot并運行上面列出的CommandLineArgs程序,我們將得到輸出:
Apple Banana Carrot
解析命令行參數
通常,會傳遞一個命令行參數,其中包含一些關于如何處理傳遞的值的信息。通知應用程序參數的參數通常在其名稱前有一兩個連字符。例如,用于指定JDK路徑的啟動參數的NetBeans示例是-jdkhome。
這意味著您需要解析命令行參數,以確定如何處理這些值。有幾個用于解析命令行參數的Java命令行框架?;蛘撸绻枰獋鬟f的參數不多,也可以編寫一個簡單的命令行解析器:
public class CommandLineArgs { //命令行參數: // -打印輸出輸出它后面的所有參數 //addnumbers在后面添加所有的數字參數 public static void main(String[] args) { //檢查字符串數組是否為空 if (args.length == 0) { System.out.println("There were no commandline arguments passed!"); } else { // 設置一些初始變量 boolean printout = false; boolean addNumbers = false; boolean validNumbers = true; int total = 0; for(String argument: args) { if(argument.equals("-addnumbers")) { printout = false; addNumbers = true; } else if (argument.equals("-printout")) { printout = true; addNumbers = false; } else if (addNumbers) { try { total = total + Integer.parseInt(argument); } catch (NumberFormatException e) { System.out.println("arguments passed with -addnumbers " + "must be integers!"); validNumbers = false; addNumbers = false; } } else if (printout) { System.out.println(argument); } } if (validNumbers) { System.out.println("The total of the number arguments is: " + total); } } } }
上面的代碼要么打印參數,要么將它們相加(如果它們是整數)。例如,這個命令行參數將添加數字:
java CommandLineArgs -addnumbers 11 22 33 44
看完了這篇文章,相信你對在Java中使用命令行參數的方法有了一定的了解,想了解更多相關知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道,感謝各位的閱讀!
本文標題:在Java中使用命令行參數的方法
轉載來源:http://jinyejixie.com/article12/pdcdgc.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站策劃、定制網站、靜態(tài)網站、企業(yè)網站制作、網站制作、全網營銷推廣
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯