2015-10-04 35 views
0

我在过去的几个月里一直在学Java,虽然我已经掌握了几乎所有的东西,但是输入和输出重定向导致了我一些问题。我正在使用的这本书(介绍Java编程,第九版)很早就提出了这个概念,并在整本书中对它进行了开关和引用,虽然我设法摆脱不知道如何去做,但我觉得如果我不尽快处理它,它会很快让我回归。我在使用使用Java的输入和输出重定向时遇到问题。有人能告诉我哪里出了问题吗?

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

Java类名< input.txt中

与输出在命令提示符完成由

Java类名> Output.txt的

。这基本上是本书就该主题提供的全部内容。然而,我在这方面取得了有限的成功。这样我就可以将它完全导向保存ClassName.class和input.txt的文件夹。要使输入重定向工作,类文件和.txt文件必须位于同一个文件夹中吗?

如果是这样的话,在cmd中使用哪些命令来更改它所针对的文件夹?

然后,对于输出重定向,我一直没有成功实现这个工作,输出重定向创建一个.txt文件,它将存储我的输出数据,或者我需要创建.txt文件,然后才能使用输出重定向?

作为参考,我已经通过本书将我的工作分成章节,以便每个创建的程序都很容易在需要的事件中找到。它们存储如下:

C:\用户\联想\文件\的NetBeansProjects \ LearningJava \ SRC \分别Chapter2ElementaryProgramming

对于第2章。

这是我在计算器上的第一篇文章,所以任何建议表示赞赏,如果我在我要问,因为我还没有在Java的精通和不明确的道歉,我什么都意味着作为尚未

+0

标题和标签引用JavaScript,但看起来帖子是关于Java的。 Java和JavaScript是完全不同的东西。删除JavaScript标签和标题中的引用是公平的。但这2应该有所帮助:http://stackoverflow.com/questions/1420965/redirect-stdout-and-stderr-to-a-single-file和http://examples.javacodegeeks.com/core-java/io/ inputstream/read-line-of-chars-from-console-with-inputstream/ – tiblu

回答

0

随着您上面的命令,所有内容都必须位于同一个文件夹中,或者将在同一个文件夹中创建。将第二个参数(文件名)想象为可以找到该文件的位置(在输入的情况下)或该文件放置的位置(在输出的情况下)。

如果您只是指定了一个简单的文件名(前面没有目录结构),系统会假定该文件将被读入或在当前目录中创建(如您的Chapter2ElementaryProgramming)。

所以,如果你在:

C:\用户\联想\文档\的NetBeansProjects \ LearningJava的\ src \ Chapter2ElementaryProgramming

和ClassName.class和input.txt中也是在C:\用户\ Lenovo \ Documents \ NetBeansProjects \ LearningJava \ src \ Chapter2ElementaryProgramming,你可以通过简单的操作,就像你在上面描述的那样。

如果你有ClassName.class别的地方,而是想从哪里调用Java类名的input.txt的阅读,你可以这样做:

Java类名< C:\用户\联想\文档\的NetBeansProjects \ LearningJava \ src \ Chapter2ElementaryProgramming \ input.txt(假设您在该目录中有input.txt)。

output.txt同样适用。除了输出之外,只要将它看作捕获自然输出到屏幕的内容而不是文件即可。所以如果你只是运行java ClassName,并且吐出一堆输出,那么如果你执行java ClassName> output.txt,它所做的就是将所有输出直接保存到output.txt中,而不是将它显示在屏幕上。

同样,如果你想output.txt的落得比,你有ClassName.class不同的地方,你可以给它的完整目录到你希望它去的,如:

Java类名>Ç :\用户\联想\文档\ NetBeansProjects \ LearningJava \ src \ Chapter2ElementaryProgramming \ output.txt

我希望这有助于,如果这确实是你问。

至于成功输出或输入的内容,该部分可能会有助于查看代码,以确保程序声音良好。

祝你好运。

+0

这简直是不真实的。 'ClassName'必须位于CLASSPATH上。默认的CLASSPATH是''。'',*如果这就是他正在使用的*它暗示''ClassName.class'必须位于当前目录中。但并非如此。 – EJP

+0

我可以向你保证,编程是从一本书中读取的,因为我没有创建任何使用它的程序,直到使用它成功完成给定的程序。你的回答非常感谢,正是我所寻找的。 – Benasbo12

0
java ClassName < input.txt 
  • 运行一个名为ClassName类必须是可用的CLASSPATH。如果您使用'.'的默认CLASSPATH,则表示ClassName.class必须位于当前目录中。
  • 重定向来自当前目录中名为input.txt的文件的输入。