首页 > 解决方案 > “收到空行或输入流结束”是什么意思?

问题描述

我有一个直接的(除了问题)任务要在 JVM 语言上实现。这是一个简单的命令行程序,它需要用户的一些输入并将结果输出到控制台。

令我困惑的部分是以下句子“ STD 输入:输入在收到空行或到达输入流的末尾时结束”。

收到空行的部分我理解为用户从控制台启动程序并且程序希望用户手动输入数据并在最后输入空行:

$ java Main.class
Enter your data:
data1
data2

Result:
result1
result2

程序在用户提交空行后关闭控制台阅读器,处理数据并将结果打印到控制台。如果我错了,请纠正我。

虽然,您到达输入流部分的末尾对我来说更加模糊。这让我认为该程序将整个输入流作为参数。在java中它可能看起来像这样:

java Main.class file.txt

这真的是什么意思吗?

这在测试我提交的代码方面会更有意义。验证正确性的人将对一堆文本类执行我的类并读取我的程序的输出。

再一次,如果是这样,人们将如何自动化程序控制台输出的读取验证?

短语“输入在收到空行或到达输入流的末尾时结束”可能意味着什么?当用户手动输入数据和文件输入流的情况时,我应该涵盖这两种情况吗?

标签: javaioconsolestdin

解决方案


正如@NomadMaker在评论中所说,输入可以通过管道传输。查看这篇文章以获取更多详细信息。


推荐阅读