如果我有一个简单的Java程序,可以从标准输入流中处理文本行,那么我可以使用以下脚本来运行它:
@Echo off
java Test < file.txt
pause
exit
脚本将文件file.txt中的输入行重定向到Java程序中。
有没有办法避免使用单独的文件?还是这是最简单的方法?
谢谢。
如果我有一个简单的Java程序,可以从标准输入流中处理文本行,那么我可以使用以下脚本来运行它:
@Echo off
java Test < file.txt
pause
exit
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 Test < file.txt
但是如果你绝对需要 pause
命令,你将不得不在脚本中执行它,或者在测试类中编写暂停行为的代码。
java Test < file.txt & pause
- Joey