0

您如何使用 < 和 > 符号读取和写入在命令行上传递的文件?

这是命令:java Main < input.txt > output.txt

所以我想知道java文件中的代码会是什么样子。如何引用这些文件?

只是为了澄清,如果通过:我可以使用文件没有问题:java Main input.txt output.txt 但我目前仅限于使用尖括号。

4

3 回答 3

1

这些运算符意味着您要从读取输入input.txt并将结果写入output.txt.

于 2013-04-21T15:20:22.633 回答
1

遵循正常约定,<isSystem.in>is System.out但是,在这种情况下,仅将 String 传递给 System.in 可能不会达到您的预期

于 2013-04-21T15:20:50.883 回答
1

假设你在谈论 Linux/Unix/Bsd ...

<重定向>由 shell 本身处理。当您的 Java 应用程序被调用时,shell 已经知道路径名解析为什么,打开它们,并将它们连接到用于System.in和的文件描述符System.out

因此,您只需编写程序以读取System.in和写入System.out.

(如果您的应用程序是管道的一部分,同样的原则也适用,并且如果 FD #2 被重定向,它将连接到System.err. 唯一不直接的是,如果您执行如下异常操作:

   java Main < input.txt 3> output.txt

这会将 FD #3 重定向到一个文件。AFAIK,没有简单的方法可以从 Java 写入超过 2 的 FD。)

于 2013-04-21T15:27:06.167 回答