Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从批处理文件向java进程提供输入_Java_Batch File - Fatal编程技术网

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

从批处理文件向java进程提供输入,java,batch-file,Java,Batch File,如果我有一个简单的java程序来处理来自标准输入的文本行,那么我可以使用以下脚本运行它: @Echo off java Test < file.txt pause exit @Echo关闭 java测试

如果我有一个简单的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即可。我不知道我可以用帕伦斯管多条管线。谢谢