0

< 記号と > 記号を使用して、コマンド ラインで渡されたファイルをどのように読み書きしますか?

これはコマンドです:java Main < input.txt > output.txt

したがって、Java ファイルのコードがどのようになるかを知りたいのです。これらのファイルを参照するにはどうすればよいですか?

明確にするために、渡された場合はファイルを問題なく使用できます:java Main input.txt output.txt が、現在、山括弧の使用に制限されています。

4

3 に答える 3

1

Linux/Unix/Bsd について話していると仮定すると ...

およびリダイレクトは、シェル自体によって処理されます<。Java アプリケーションが呼び出されるまでに、シェルはすでにパス名が何に解決されるかを把握し、それらを開き、および>に使用されるファイル記述子にそれらを接続しています。System.inSystem.out

したがって、プログラムをコーディングして から読み書きするだけSystem.inですSystem.out

(アプリケーションがパイプラインの一部である場合、同じ原則が適用され、FD #2 がリダイレクトされた場合、それは に接続されSystem.errます。単純ではない唯一のことは、次のような異常なことを行う場合です:

   java Main < input.txt 3> output.txt

これにより、FD #3 がファイルにリダイレクトされます。私の知る限り、Java から 2 を超える FD に書き込む簡単な方法はありません。)

于 2013-04-21T15:27:06.167 に答える
1

これらの演算子は、 から入力を読み取り、結果を にinput.txt書き込むことを意味しますoutput.txt

于 2013-04-21T15:20:22.633 に答える
1

通常の規則に従って、<isSystem.inおよび>isSystem.outです。ただし、この場合、文字列を System.in に渡すだけでは、期待どおりの結果が得られない可能性があります。

于 2013-04-21T15:20:50.883 に答える