处理格式为“;cat file.txt | java YourMainClass”;

处理格式为“;cat file.txt | java YourMainClass”;,java,terminal,Java,Terminal,我以前从未在终端上使用过java,当然也从未为它编写过代码。我的问题很简单:当调用格式为 cat  file.txt  |  java  YourMainClass 我已经启动了其余的代码并顺利运行,我只需要将给定的文件名放入我的主方法。当您要从系统中读取时。在中,作为cat的输出,您可以执行以下操作: BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line; while ((

我以前从未在终端上使用过java,当然也从未为它编写过代码。我的问题很简单:当调用格式为

cat  file.txt  |  java  YourMainClass

我已经启动了其余的代码并顺利运行,我只需要将给定的文件名放入我的主方法。

当您要从
系统中读取时。在
中,作为
cat
的输出,您可以执行以下操作:

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

String line;
while ((line = br.readLine()) != null) {
   // use line...
}

当您要从
系统读取时。在
中作为
cat
的输出,您可以执行以下操作:

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

String line;
while ((line = br.readLine()) != null) {
   // use line...
}

由于cat命令显示文件的内容,因此需要使用System.in缓冲区来捕获来自该命令的数据。您可以使用指向System.in的BufferedReader来循环数据并对其进行处理

看看这个


由于cat命令显示文件的内容,因此需要使用System.in缓冲区来捕获来自该命令的数据。您可以使用指向System.in的BufferedReader来循环数据并对其进行处理

看看这个


下面的答案忘记了明确地解释:您没有得到文件名,只有输入。上面的例子相当于
javayourmainclass下面的答案忘了显式地解释:没有给你一个文件名,只有输入。你上面的例子相当于java YourMainClass,我不认为有任何方法可以从windows调用。你可以创建一个.bat文件,让它在命令行执行对程序的java调用。或者将其制作成一个swing应用程序,显示在JFrame中。bat文件只包含命令,就像您在命令行中键入的一样。我想最好的解决方案会根据您的需要而改变。我不认为有任何方法可以从windows进行调用。您可以创建一个.bat文件,让它在命令行执行对程序的java调用。或者将其制作成一个swing应用程序,显示在JFrame中。bat文件只包含命令,就像您在命令行中键入的一样。我想最好的解决方案会根据您的需要而有所改变。