【问题标题】:Automating jar input自动化jar输入
【发布时间】:2016-04-22 07:05:51
【问题描述】:

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

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

但没有用。如何自动输入?

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

【问题讨论】:

  • 使用& 运算符连接多个命令,例如echo Hello&echo world...

标签: java windows batch-file jar pipe


【解决方案1】:

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

请看下面一个简单的工作示例

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

【讨论】:

  • 效果很好,几乎可以满足我的需求!非常感谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-10
  • 2014-11-14
  • 1970-01-01
  • 1970-01-01
  • 2021-08-05
  • 2018-10-04
相关资源
最近更新 更多