Java 使用运行配置从eclipse中的文件重定向stdin
eclipse中曾经有一个阻止运行配置将文件重定向到stdin的错误,但据推测它已经修复。然而,我找不到任何文档,告诉如何做,现在它是固定的 很容易误解我想要实现的目标,所以让我说清楚。我不是在寻找可以读取文件的代码。我不希望将文件名作为参数传递。我不想重定向stdout或stderr 我现有的代码接受正常的标准输入,而不知道它是来自键盘还是文件:Java 使用运行配置从eclipse中的文件重定向stdin,java,eclipse,Java,Eclipse,eclipse中曾经有一个阻止运行配置将文件重定向到stdin的错误,但据推测它已经修复。然而,我找不到任何文档,告诉如何做,现在它是固定的 很容易误解我想要实现的目标,所以让我说清楚。我不是在寻找可以读取文件的代码。我不希望将文件名作为参数传递。我不想重定向stdout或stderr 我现有的代码接受正常的标准输入,而不知道它是来自键盘还是文件: scanner = new Scanner(System.in); number = scanner.nextInt(); 从文件重定向输入当然可
scanner = new Scanner(System.in);
number = scanner.nextInt();
从文件重定向输入当然可以在命令提示符下完成,但我正在尝试将eclipse配置为在按下ctrl-F11键时自动完成
公平的警告,我自己也做过大量的网络搜索试图回答这个问题,其中许多人声称答案在
运行配置|公共中,但它们最终只对stdout起作用。你需要Eclipse Mars来解决这个问题,因为错误修复没有被后传
进入运行配置
,打开Java应用程序
。在Common
选项卡中,有一个标准输入和输出
组,您可以在其中定义输入文件。我希望我理解正确
文件末尾需要有新行
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
System.out.println(scanner.next());
}
}
文件包含文本(并以新的空行结束,而不仅仅是文本)
然后运行配置
|公共
|输入文件
程序将打印文件内容
编辑:构建id:20150621-1200这是Eclipse 4.5(火星)功能的发布和描述:
现在可以将Stdin分配给launch的Common选项卡中的文件
配置对话框。
正如所料,这是刚刚发布的Eclipse4.5的一项新功能,因此在旧版本中无法使用。这是Eclipse4.5功能的发布和说明:@Stanec您的评论是最好的答案。可能会注意到,如果您在4.4中尝试此操作,您可能会在不知道发生了什么之前用输出覆盖您的输入文件。@Stanec不幸的是,尽管您的链接文档与此相反,但在下载eclipse mars 4.5.0 M1后,我发现Common
的外观和“工作”与luna 4.4中的相同:(等等,4.5.0 M1已经过时了!“M1”的意思是“里程碑1”。错误在M4中修复。你确定你下载了Eclipse的最终版本吗?@Stanec显然在搜索“Eclipse火星下载”获取最新版本不是一个好策略。最终在此处找到了一个显示构建日期的页面:由于一些mars 4.5构建没有此功能,您可以更具体地使用最低版本吗?我知道M1没有,但构建id为I20150603-2000的SDK有。任何内容都可以直接从(和/或新的Oopmh安装程序)下载不包含该功能。只有开发版本(用“M”标记为“里程碑”)将不包含该修复。“需要在末尾添加新行”已确认+1