繁体   English   中英

Java:将文件输入到进程

[英]Java: Input a file to a process

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

java Robot < config.txt

有谁知道我怎么能从命令提示符下的Java中读取重定向输入?

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

具体来说,从重定向的标准输入读取的内容与从常规标准输入读取的内容相同。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM