Java中的命令行管道输入

这是一段简单的代码:

import java.io.*;

public class Read {

public static void main(String[] args) {

BufferedReader f = new BufferedReader(new InputStreamReader(System.in));

while(true)

{

String x = null;

try{

x = f.readLine();

}

catch (IOException e) {e.printStackTrace();}

System.out.println(x);

}

}

}

我将其执行为:java Read <input.txt

一旦将input.txt完全传递到程序中,x就会保持无限的null。为什么呢?有没有办法在将文件输入代码后使标准输入(命令行)活动?我尝试关闭流并重新打开,但它不起作用。重置等。

回答:

通过执行操作,"java Read < input.txt"您已经告诉操作系统,对于此过程,管道文件

标准文件。您不能再从应用程序内部切换回命令行。

如果要这样做,则将input.txt作为文件名参数传递给应用程序,然后从应用程序内部自己打开/读取/关闭文件,然后从标准输入中读取内容以从命令行获取内容。

以上是 Java中的命令行管道输入 的全部内容, 来源链接: utcz.com/qa/403299.html

回到顶部