在Java中使用命令行参数的方法-创新互联
小编给大家分享一下在Java中使用命令行参数的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
我们提供的服务有:网站建设、成都网站制作、微信公众号开发、网站优化、网站认证、武胜ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的武胜网站制作公司命令行参数可以是为应用程序指定配置属性的一种方式,Java也不例外。您可以从终端窗口运行Java应用程序,而不是单击操作系统中的应用程序图标 。除了应用程序名称之外,还可以跟随许多参数,然后将这些参数传递给应用程序的起始点(即,在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命令行框架。或者,如果需要传递的参数不多,也可以编写一个简单的命令行解析器:
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中使用命令行参数的方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道,感谢各位的阅读!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享标题:在Java中使用命令行参数的方法-创新互联
标题链接:http://cdiso.cn/article/didphj.html