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 "第"+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 时会提示如下:
java批处理bat文件执行jar包时传入参数实例_第1张图片

如果想直接传如参数,然后判断args里面的数据,执行对应的操作呢?上面代码已经贴出了方法,可以粘贴运行。这里直说bat配置文件怎么写:
在cmd窗口输入java -cp test.jar TestMainClass 0 1 时这时args里面的数据就是一个由0和1组成的数组,就这么简单。

你可能感兴趣的:(JAVA)