我以前从未在终端上使用过 java,当然我也从未为它编写过代码。我的问题很简单:当调用格式为
cat file.txt | java YourMainClass
我已经启动并运行了其余的代码,我只需要将给定的文件名放入我的 main 方法中。
由于 cat 命令显示文件的内容,因此您需要使用 System.in 缓冲区来捕获来自该命令的数据。您可以使用指向 System.in 的 BufferedReader 循环遍历数据并对其进行处理。
看这个例子
public class ReadInput {
public static void main(String[] args) throws IOException {
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String x = null;
while( (x = input.readLine()) != null ) {
System.out.println(x);
}
}
}
当您希望从System.in
的输出中读取时cat
,您可以执行以下操作:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = br.readLine()) != null) {
// use line...
}