Java 使用运行配置从eclipse中的文件重定向stdin

Java 使用运行配置从eclipse中的文件重定向stdin,java,eclipse,Java,Eclipse,eclipse中曾经有一个阻止运行配置将文件重定向到stdin的错误,但据推测它已经修复。然而,我找不到任何文档,告诉如何做,现在它是固定的 很容易误解我想要实现的目标,所以让我说清楚。我不是在寻找可以读取文件的代码。我不希望将文件名作为参数传递。我不想重定向stdout或stderr 我现有的代码接受正常的标准输入,而不知道它是来自键盘还是文件: scanner = new Scanner(System.in); number = scanner.nextInt(); 从文件重定向输入当然可

eclipse中曾经有一个阻止运行配置将文件重定向到stdin的错误,但据推测它已经修复。然而,我找不到任何文档,告诉如何做,现在它是固定的

很容易误解我想要实现的目标,所以让我说清楚。我不是在寻找可以读取文件的代码。我不希望将文件名作为参数传递。我不想重定向stdout或stderr

我现有的代码接受正常的标准输入,而不知道它是来自键盘还是文件:

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