java应用程序能够从命令行接受任何数量的参数,在应用程序被加载的时候允许用户指定配置信息。命令行参数应该在java的类名之后被输入。
例如:一个java应用程序调用Sort类的sorts方法对friends.txt中多行数据进行排序,这时用户应该输入
java Sort friend.txt
当应用程序被加载的时候,java运行时环境将命令行参数传递到应用程序主方法的String类型数组中。在上面的例子中java运行时环境会将
friend.txt传递到主方法main()的string类型数组中。
命令行参数例子:
public class Test {
public static void main(String[] args) {
for(String s: args){
System.out.println(s);
}
}
}
a 当用户输入命令java Test Drink Hot Java
结果显示:
Drink
Hot
Java
b 当用户输入命令:java Test "Drink Hot Java"
结果显示:
Drink Hot Java
解析数值型命令行参数:
如果一个应用程序需要“数值型”的命令行参数,那么在使用之前就应该将String类型转换成数值类型。
public class Test {
public static void main(String[] args) {
int firstArg;
if (args.length > 0) {
try {
firstArg = Integer.parseInt(args[0]);
System.out.println(firstArg);
} catch (NumberFormatException e) {
System.err.println("Argument must be an integer");
System.exit(1);
}
}
}
}
如果args[0]不是一个有效的数值类型值,使用parerInt()方法就会抛出NumberFormatException。