Java命令行尖括号
如何使用<和>符号读取和写入在命令行上传递的文件 这是命令:Java命令行尖括号,java,command-line,io,Java,Command Line,Io,如何使用符号读取和写入在命令行上传递的文件 这是命令:javamainoutput.txt 所以我想知道java文件中的代码是什么样子的。如何引用这些文件 只是为了澄清一下,我可以使用文件,如果使用:java Main input.txt output.txt 但是我目前只能使用尖括号。这些操作符意味着你想读取input.txt中的输入,并将结果写入output.txt这些操作符意味着你想读取input.txt中的输入,并且将结果写入output.txt按照正常惯例,是System.out。但是
javamainoutput.txt
所以我想知道java文件中的代码是什么样子的。如何引用这些文件
只是为了澄清一下,我可以使用文件,如果使用:java Main input.txt output.txt
但是我目前只能使用尖括号。这些操作符意味着你想读取
input.txt
中的输入,并将结果写入output.txt
这些操作符意味着你想读取input.txt中的输入,并且将结果写入output.txt
按照正常惯例,
是System.out
。但是,仅将字符串传递给System.in可能不会达到您期望的效果。在本例中,按照正常约定,
是System.out
。但是,仅向System.in传递一个字符串可能不会达到您在本例中所期望的效果假设您谈论的是Linux/Unix/Bsd
重定向由shell本身处理。在调用Java应用程序时,shell已经计算出路径名解析为什么,打开它们,并将它们连接到用于System.in
和System.out
的文件描述符
因此,您只需将程序编码为从System.in
读取,然后写入System.out
(如果您的应用程序是管道的一部分,并且如果FD#2被重定向,那么同样的原则也适用于此。FD#2将连接到System.err
。唯一不简单的事情是,如果您执行了以下不寻常的操作:
java Main < input.txt 3> output.txt
javamainoutput.txt
这会将FD#3重定向到一个文件。好吧,从Java写入FD's beyond 2没有简单的方法。)假设您正在谈论Linux/Unix/Bsd
重定向由shell本身处理。在调用Java应用程序时,shell已经计算出路径名解析为什么,打开它们,并将它们连接到用于System.in
和System.out
的文件描述符
因此,您只需将程序编码为从System.in
读取,然后写入System.out
(如果您的应用程序是管道的一部分,并且如果FD#2被重定向,那么同样的原则也适用于此。FD#2将连接到System.err
。唯一不简单的事情是,如果您执行了以下不寻常的操作:
java Main < input.txt 3> output.txt
javamainoutput.txt
这会将FD#3重定向到一个文件。好吧,从Java中写入FD's beyond 2没有简单的方法。)为什么要限制在尖括号内?我知道
>
对于将结果输出到后续文件路径具有特殊意义。这可能会与你的约束条件发生冲突。我必须在大学作业中使用它们。我需要压缩文件,但无法显式打开或关闭文件。为什么要将文件限制在尖括号内?我知道>
对于将结果输出到后续文件路径具有特殊意义。这可能会与你的约束条件发生冲突。我必须在大学作业中使用它们。我需要压缩文件,但无法显式打开或关闭文件。我(在Windows中)对此进行了测试,您是对的。我在网上搜索时没有发现任何关于这方面的信息,所以谢谢你的帮助。我(在Windows中)对此进行了测试,你是对的。我在网上搜索时没有发现任何关于这方面的信息,所以感谢你的帮助。当我现在回顾我以前的问题时,我意识到你的答案不仅没有帮助(因为我故意这样命名文件),而且它完全忽略了所问的问题(关于如何读取java类中的文件)。糟糕的表演@ConorPender您的评论可能比使用诸如“拙劣表演”之类的丰富短语更有建设性。我想帮忙,我可能误解了这个问题,但你的问题不太清楚。@ConorPender学习如何评论以改进事情。顺便说一句,我没有给你做任何节目。以防万一你这么认为。当我现在回顾我以前的问题时,我意识到你的答案不仅没有帮助(因为我故意这样命名文件),而且它完全忽略了所问的问题(关于如何读取java类中的文件)。糟糕的表演@ConorPender您的评论可能比使用诸如“拙劣表演”之类的丰富短语更有建设性。我想帮忙,我可能误解了这个问题,但你的问题不太清楚。@ConorPender学习如何评论以改进事情。顺便说一句,我没有给你做任何节目。以防你这么想。