如果我有一个简单的java程序来处理来自标准输入的文本行,那么我可以使用以下脚本运行它:
@Echo off
java Test < file.txt
pause
exit
该脚本将file.txt中的输入行重定向到java程序中。
有没有办法可以避免使用单独的文件?或者这是最简单的方法吗?
感谢。
答案 0 :(得分:4)
使用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
答案 1 :(得分:0)
你可以做一个简单的事情:
$ java Test < file.txt
但是如果您绝对需要pause
命令,则必须在脚本上执行此操作,或者在Test类中执行代码暂停行为。