首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我在使用Java时遇到了输入和输出重定向的问题。有人能告诉我哪里出了问题吗?

我在使用Java时遇到了输入和输出重定向的问题。有人能告诉我哪里出了问题吗?
EN

Stack Overflow用户
提问于 2015-10-05 03:39:28
回答 2查看 67关注 0票数 0

我在过去的几个月里一直在学习Java,虽然我已经掌握了几乎所有的东西,但输入和输出重定向给我带来了一些问题。我正在使用的这本书( Java编程入门,第九版)很早就提出了这个概念,并在整本书中断断续续地提到了它,虽然我已经设法摆脱了不知道如何做到这一点的问题,但我觉得如果我不能很快掌握它,我很快就会遇到很大的挫折。

所以,我的问题是我该怎么做呢?到目前为止,我了解到输入重定向是通过

java ClassName < input.txt

,并由输出

java ClassName > Output.txt

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

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

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

作为参考,我已经通过这本书将我的工作组织成章节,以便在我需要的情况下,创建的每个程序都很容易找到。它们的存储方式如下:

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

分别用于第二章。

这是我在StackOverflow上的第一篇帖子,所以我非常感谢任何建议,如果我不清楚我要问的是什么,我很抱歉,因为我还不精通Java,以及到目前为止一切都意味着什么

EN

回答 2

Stack Overflow用户

发布于 2015-10-05 05:43:56

使用上面的命令,所有内容都必须在相同的文件夹中,或者将在相同的文件夹中创建。可以考虑第二个参数,即文件名,它引用了可以找到该文件的位置(在输入的情况下)或将放置该文件的位置(在输出的情况下)。

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

所以,如果你在:

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

在C:\Users\Lenovo\Documents\NetBeansProjects\LearningJava\src\Chapter2ElementaryProgramming,中也有ClassName.class和input.txt,你可以像上面描述的那样简单地操作。

如果您在其他地方有ClassName.class,但是想要从调用java ClassName的任何地方读取input.txt,您可以这样做:

java ClassName < C:\Users\Lenovo\Documents\NetBeansProjects\LearningJava\src\Chapter2ElementaryProgramming\input.txt (假设您在该目录中有input.txt )。

同样的道理也适用于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

如果这确实是您所问的,我希望这会有所帮助。

对于成功输出或输入的内容,如建议的那样,该部分可能有助于查看代码以确保其在编程上是正确的。

祝好运。

票数 0
EN

Stack Overflow用户

发布于 2015-10-05 08:11:12

代码语言:javascript
运行
复制
java ClassName < input.txt

  • 运行一个名为ClassName的类,该类必须在CLASSPATH上可用。如果您使用的是'.'的默认directory.
  • Redirects,这意味着ClassName.class必须在当前的CLASSPATH中当前目录中名为input.txt的文件的输入。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32937606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档