I';我在使用Java进行输入和输出重定向时遇到问题。谁能告诉我哪里出了问题?

I';我在使用Java进行输入和输出重定向时遇到问题。谁能告诉我哪里出了问题?,java,command-prompt,Java,Command Prompt,在过去的几个月里,我一直在学习Java,虽然我已经掌握了几乎所有的知识,但输入和输出重定向给我带来了一些问题。 我正在使用的这本书(Java编程导论,第九版)很早就提出了这个概念,并且在整本书中断断续续地引用了这个概念,虽然我已经设法摆脱了不知道如何做的困境,但我觉得如果我不尽快掌握它,它会很快让我退步 所以,我的问题是我该怎么做?到目前为止,我知道输入重定向是由 java类名Output.txt 在命令提示中。这基本上是书中关于这个主题的全部内容。但我在这方面的成功有限。这样我就可以通过将它完

在过去的几个月里,我一直在学习Java,虽然我已经掌握了几乎所有的知识,但输入和输出重定向给我带来了一些问题。 我正在使用的这本书(Java编程导论,第九版)很早就提出了这个概念,并且在整本书中断断续续地引用了这个概念,虽然我已经设法摆脱了不知道如何做的困境,但我觉得如果我不尽快掌握它,它会很快让我退步

所以,我的问题是我该怎么做?到目前为止,我知道输入重定向是由

java类名 以及

java ClassName>Output.txt

在命令提示中。这基本上是书中关于这个主题的全部内容。但我在这方面的成功有限。这样我就可以通过将它完全定向到ClassName.class和input.txt都保存的文件夹来让它工作。要使输入重定向工作,类文件和.txt文件是否必须位于同一文件夹中

如果是这样,在cmd中使用什么命令来更改它指向的文件夹

那么,对于输出重定向,我没有成功地使其工作,输出重定向是否创建了一个.txt文件,它将在其中存储我的输出数据,或者在使用输出重定向之前,我是否需要创建该.txt文件

为了便于参考,我将书中的工作分为几章,这样创建的每个程序都可以在我需要的情况下轻松找到。它们的存储方式如下:

C:\Users\Lenovo\Documents\NetBeansProjects\LearningJava\src\Chapter2ElementaryProgramming

分别为第2章


这是我在StackOverflow上的第一篇帖子,因此,如果我不清楚我在问什么,我表示歉意,因为我还不精通Java,以及到目前为止一切都意味着什么。

使用上面的命令,一切都必须在同一文件夹中,或者将在同一文件夹中创建。请考虑第二个参数,即文件名,作为对文件位置的引用(在输入情况下)或文件位置的引用(在输出情况下)

如果只指定一个简单的文件名(前面没有目录结构),系统将假定该文件将在当前目录中读取或创建(如第2章ElementaryProgramming)

因此,如果你在:

C:\Users\Lenovo\Documents\NetBeansProjects\LearningJava\src\Chapter2ElementaryProgramming

ClassName.class和input.txt也位于C:\Users\Lenovo\Documents\NetBeansProjects\LearningJava\src\Chapter2ElementaryProgramming中,您只需按照上面所述操作即可

如果您在其他地方有ClassName.class,但希望从调用java ClassName的任何位置读取input.txt,则可以执行以下操作:

java类名 这同样适用于output.txt。除了输出,只需将其看作是捕获自然输出到屏幕的内容,然后将其转换为文件。因此,如果您只运行java ClassName,它会输出一堆输出,那么如果您运行java ClassName>output.txt,它所做的就是将所有输出直接保存到output.txt,而不是显示在屏幕上

同样,如果您希望output.txt结束于与您拥有ClassName.class的位置不同的位置,您可以为它提供完整的目录,例如:

java ClassName>C:\Users\Lenovo\Documents\NetBeansProjects\LearningJava\src\Chapter2ElementaryProgramming\output.txt

如果这确实是你所要求的,我希望这会有所帮助

至于成功输出或输入的内容,正如建议的那样,该部分可能有助于查看代码,以确保它在编程方面是合理的

祝你好运。

java类名java ClassName < input.txt
  • 运行名为
    ClassName
    的类,该类必须在类路径上可用。如果您使用的是默认类路径
    ,这意味着
    ClassName.class
    必须在当前目录中
  • 重定向当前目录中名为
    input.txt
    的文件中的输入

标题和标签指的是JavaScript,而这篇文章看起来都是关于Java的。Java和JavaScript是完全不同的东西。删除标题中的JavaScript标记和引用是公平的。但这2条应该有所帮助:这根本不是事实<代码>类名必须位于类路径上。默认的类路径是
,如果这就是他所使用的全部,则意味着
ClassName.class
必须在当前目录中。但不是别的。我可以向你保证,这个程序就像书上写的一样,因为在我成功地将它用于给定的程序之前,我没有创建过任何使用它的程序。非常感谢你的回答,这正是我想要的。