私はプログラムに取り組んでおり、このように機能させたいと思っています
my_program -o Words
「Words」はファイルですが、ファイルからではなくパイプ入力でも機能するようにしたいので、
grep test Words | my_program -o
パイプされたデータを収集して保存するにはどうすればよいですか? データがパイプインされたかどうかを確認するにはどうすればよいですか?
私はプログラムに取り組んでおり、このように機能させたいと思っています
my_program -o Words
「Words」はファイルですが、ファイルからではなくパイプ入力でも機能するようにしたいので、
grep test Words | my_program -o
パイプされたデータを収集して保存するにはどうすればよいですか? データがパイプインされたかどうかを確認するにはどうすればよいですか?
パイプされたデータは、などSystem.inの標準ツールを使用して読み取ることができます。ScannerBufferedInputReader
パイプイン入力をチェックするよりも、逆の条件をチェックする方がおそらく簡単でしょう。ファイルが引数として指定されている場合、指定されていない場合は、標準入力から読み取る
Java の場合:
System.in「は」標準入力です。System.out「は」標準出力です。System.err"は" stderr.パイプを使用すると、stdin をリダイレクトするため、stdout への出力はfoo | barすべての stdin にリダイレクトされます。foobar
System.inですInputStream。ファイルだけでなく標準入力からも読み取ることができるようにしたい場合は、次の方法があります。
InputStream in = System.in;
if (hasOptionToReadFromFile)
in = Files.newInputStream(Paths.get(fileName));
パイプされたデータを読み取るには、プログラムの stdin から読み取る必要があります。
grep test Words | my_program -o
あなたの例|では、 の stdout を のgrep test Wordsstdin にパイプしますmy_program。ストリーム、パイプ、およびリダイレクトに関する記事を参照してください。