0

私はRobotという単純なJavaプロジェクトを書いています。ロボットは、コマンドプロンプトから構成ファイルを受け入れることができます(ファイルがない場合、ロボットはデフォルトの構成を使用します)。

java Robot < config.txt

Javaのコマンドプロンプトからリダイレクト入力を読み取る方法を知っている人はいますか?

4

1 に答える 1

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
于 2012-12-06T00:57:58.777 に答える