如果我有一个简单的 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 - 从批处理文件向 Java 进程提供输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2753841/