java批处理bat文件执行jar包时传入参数实例
目录
java批处理bat文件执行jar包时传入参数实例
我们的打的jar包通过里面的main方法执行程序时想要传入参数怎么办?我这里有个例子:
import java.io.IOException;
import java.util.Scanner;
/**
* @author dongzy
* @date 2017/12/25.
*/
public class TestMainClass {
public static void main(String[]args){
for (int i = 0; i <args.length; i++) {
System.out.println("第"+i+"个参数是:"+args[i]);
}
if(args.length <= 0 ){
scannerInput();
}else {
inputByArgs(args);
}
killProcess();
}
private static void killProcess() {
Runtime rt = Runtime.getRuntime();
Process p = null;
try {
rt.exec("cmd.exe /C start wmic process where name='cmd.exe' call terminate");
System.exit(0);
} catch (IOException e) {
e.printStackTrace();
}
}
private static void inputByArgs(String[] args) {
for (int i = 0; i < args.length; i++) {
doSomething(args[i]);
}
}
private static void scannerInput() {
Scanner scanner = new Scanner(System.in);
while (true){
System.out.print("请输入数字:");
String a = scanner.nextLine();
if(a.equals("exit")){
killProcess();
}else {
doSomething(a);
}
}
}
private static void doSomething(String a) {
switch (a){
case "0":
System.out.println("您输入的是0");
break;
case "1":
System.out.println("您输入的是1");
break;
default:
System.out.println("请重新输入:");
break;
}
}
}
当在cmd窗口输入
java -cp test.jar TestMainClass
时会提示如下:
如果想直接传如参数,然后判断args里面的数据,执行对应的操作呢?上面代码已经贴出了方法,可以粘贴运行。这里直说bat配置文件怎么写:
在cmd窗口输入
java -cp test.jar TestMainClass 0 1
时这时args里面的数据就是一个由0和1组成的数组,就这么简单。