Java:将文件输入到进程

时间:2012-12-06 00:56:27

标签: java

我正在编写一个简单的Java项目调用Robot。机器人可以从命令提示符接受配置文件(如果没有文件,机器人将使用默认配置):

java Robot < config.txt

有没有人知道如何在java中从命令提示符读取重定向输入?

1 个答案:

答案 0 :(得分:4)

您可以访问System.in作为输入流,其中包含所有重定向输入。

具体来说,从重定向的stdin读取与从常规stdin读取相同。

例如,假设您要从重定向的流中读取整数列表。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Foo {
    public static void main(String args[])
        throws IOException
    {
        BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
        int sum = 0;
        String line;
        while ((line = r.readLine()) != null) {
            sum += Integer.parseInt(line);
        }
        System.out.println(sum);
    }
}

然后当你运行它时,你会得到

$ (echo 1; echo 2; echo 65) > foo.txt
$ java Foo < foo.txt
68