从批处理文件向java进程提供输入
如果我有一个简单的java程序来处理来自标准输入的文本行,那么我可以使用以下脚本运行它:从批处理文件向java进程提供输入,java,batch-file,Java,Batch File,如果我有一个简单的java程序来处理来自标准输入的文本行,那么我可以使用以下脚本运行它: @Echo off java Test < file.txt pause exit @Echo关闭 java测试
@Echo off
java Test < file.txt
pause
exit
@Echo关闭
java测试
该脚本将file.txt中的输入行重定向到java程序中
有没有一种方法可以避免使用单独的文件?还是这是最简单的方法
谢谢。您可以做一个简单的操作:
$ java Test < file.txt
$java Test
但是,如果您确实需要pause
命令,则必须在脚本上执行此操作,或者在测试类中编写暂停行为。使用
这个平凡的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程序。你不能修改java main以从args读取并将文件作为参数传入吗到main?您只需执行
java测试
Awesome即可。我不知道我可以用帕伦斯管多条管线。谢谢