自动化jar输入

时间:2016-04-22 07:05:51

标签: java windows batch-file jar pipe

我有一个jar文件,询问用户n的值。并添加输入的值。当jar从cmd.exe执行时,效果很好。但是当从.bat文件调用时,它不会提示输入而是执行其他语句。我尝试使用pipe,as,

(echo 3 echo 10 echo 20 echo 30)| java -jar add.jar

但没有工作。如何自动输入?

注意:值不被接受为参数,而是作为提示。

1 个答案:

答案 0 :(得分:2)

在不了解代码的情况下,很难说它为什么不适合你。

见下面一个简单的工作示例

<强> Add.java

import java.util.Scanner;

public class Add {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int sum = 0;
        while (scanner.hasNextInt()) {
            int value = scanner.nextInt();
            sum += value;
            System.out.println("sum = " + sum);
        }
    }
}

<强>的run.bat

@echo off
(echo 2
echo 10
echo 20
echo 30
echo end ) | java -jar Add.jar

编译并构建jar

javac Add.java
echo Main-Class: Add > manifest.mf
jar cmf manifest.mf Add.jar Add.class

运行批处理文件

run.bat

<强>输出

sum = 2 
sum = 12
sum = 32
sum = 62