使用cat将输入文件发送到java主类

使用cat将输入文件发送到java主类,java,file-io,main,cat,Java,File Io,Main,Cat,如果要输入文件,请使用cat命令说myfile.txt 说“cat myfile.txt>java myMain” 我应该在myMain函数中写什么?myfile.txt是直接存储在args[0]中还是有方法引用它?您不会这样做的-这是当前重定向到的文件。您可以通过管道将其传输到java,也可以通过另一种方式重定向: java Foo < myTextFile 接下来,您应该使用System.in,因为您基本上将该文件的内容用作标准输入,而不是控制台: import java.io.*;

如果要输入文件,请使用cat命令说myfile.txt

说“cat myfile.txt>java myMain”

我应该在myMain函数中写什么?myfile.txt是直接存储在args[0]中还是有方法引用它?

您不会这样做的-这是当前重定向到的文件。您可以通过管道将其传输到
java
,也可以通过另一种方式重定向:

java Foo < myTextFile
接下来,您应该使用
System.in
,因为您基本上将该文件的内容用作标准输入,而不是控制台:

import java.io.*;

public class CopyInput {
    public static void main(String[] args) throws IOException {
        try (BufferedReader reader = new BufferedReader(
            new InputStreamReader(System.in, Charset.defaultCharset()))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println("Read: " + line);
            }
        }
    }
}
你不会这样做的-这是目前重定向到一个文件。您可以通过管道将其传输到
java
,也可以通过另一种方式重定向:

java Foo < myTextFile
接下来,您应该使用
System.in
,因为您基本上将该文件的内容用作标准输入,而不是控制台:

import java.io.*;

public class CopyInput {
    public static void main(String[] args) throws IOException {
        try (BufferedReader reader = new BufferedReader(
            new InputStreamReader(System.in, Charset.defaultCharset()))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println("Read: " + line);
            }
        }
    }
}