系统相关
首页 > 系统相关> > 从批处理文件向Java进程提供输入

从批处理文件向Java进程提供输入

作者:互联网

如果我有一个简单的Java程序来处理来自标准输入的文本行,则可以使用以下脚本运行它:

@Echo off
java Test < file.txt
pause
exit

该脚本将输入行从file.txt重定向到Java程序.

有没有一种方法可以避免不得不使用单独的文件?还是这是最简单的方法?

谢谢.

解决方法:

使用pipe.

这个琐碎的Java应用程序只是打印出stdin中的行:

public class Dump {
  public static void main(String[] args) {
    java.util.Scanner scanner = new java.util.Scanner(System.in);
    int line = 0;
    while (scanner.hasNextLine()) {
      System.out.format("%d: %s%n", line++, scanner.nextLine());
    }
  }
}

调用此批处理文件:

@ECHO OFF
(ECHO This is line one
ECHO This is line two; the next is empty
ECHO.
ECHO This is line four)| java -cp bin Dump
PAUSE

…它将打印:

0: This is line one
1: This is line two; the next is empty
2:
3: This is line four

标签:java,batch-file
来源: https://codeday.me/bug/20191106/2000141.html