Java:如何将文本文件的内容重定向到Java文件作为键盘输入

  • 本文关键字:文件 Java 键盘 重定向 文本 java
  • 更新时间 :
  • 英文 :


我写了以下程序:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class greeter{
    public static void main(String[] args) {
        try {
            BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
            String line = input.readLine();
            System.out.println("Hello, " + line + "! How are you today?");
            line = input.readLine();
            }
        catch (IOException ioex) {
            ioex.printStackTrace();
        }
    }
}

如何将文本文件的内容重定向到该程序以解释为键盘输入?基本上,我希望它能够获取文本文件的内容(name.txt(并将其读取为键盘输入。

我的参考材料说要使用

%> java greeter < name.txt

,但我不知道这是什么意思,或者它指的是什么。需要明确的是,我不是要修改程序以读取文本文件,而是将文本文件作为键盘输入输入。

谢谢!

,因此您提供的代码段是指使用Unix终端。

%> java greeter < name.txt

在上面的示例中,您有一个Java程序迎接器,该迎接器从name.txt中获取输入。同样,如果您想从Java程序的输出创建一个文件,则可以执行此类操作。

%> java greeter < name.txt > output.txt

注意胡萝卜的方向。从本质上讲,您指着stdin并按照您想要的方式进行宣传。有关此的更多信息,请参考以下链接。

https://www.tutorialspoint.com/unix/unix-io-redirections.htm

至于您的Java问题..

您已经接近了,除了您必须在系统上循环以获取输入。

    try {
        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
        String line;
        while ((line = input.readLine()) != null) {
            System.out.println("Hello, " + line + "! How are you today?");
        }   
    } catch (IOException ioex) {
        ioex.printStackTrace();
    }   

这是文件设置,并通过命令行调用int。

-MBP:testing$ cat names.txt 
nick
sam
john
-MBP:testing$ java greeter <names.txt 
Hello, nick! How are you today?
Hello, sam! How are you today?
Hello, john! How are you today?

最新更新