eclipse中曾经有一个bug阻止了运行配置将文件重定向到stdin,但据说已经修复了。但是,我找不到任何文档,告诉它如何修复它。
很容易误解我想要完成的事情,所以让我说清楚。我不是在寻找能够读取文件的代码。我不打算将文件名作为arg传递。我不打算重定向stdout或stderr。
我现有的代码采用普通标准输入,而不知道它是来自键盘还是文件:
scanner = new Scanner(System.in);
number = scanner.nextInt();
从文件重定向输入当然可以在命令提示符处完成,但我正试图通过触摸ctrl-F11按键自动配置eclipse。
公平警告,我已经做了很多网络搜索,试图自己回答这个问题,其中许多人声称答案在Run Configuration
| Common
但他们最终只为stdout工作。
答案 0 :(得分:6)
我希望我理解正确。
文件最后需要换行。
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
System.out.println(scanner.next());
}
}
包含文本的文件(以新的空行结尾,而不仅仅是文本)。
然后Run Configuration
| Common
| Input File
程序将打印文件内容。
编辑:构建ID:20150621-1200
答案 1 :(得分:6)
这是Eclipse 4.5(Mars)功能的公告和描述:http://eclipse.org/mars/noteworthy/#_assigning_stdin_to_a_file
现在可以将Stdin分配到启动的 Common 标签中的文件 配置对话框。
正如预期的那样,这是刚刚发布的Eclipse 4.5的一个新功能,因此不适用于旧版本。
答案 2 :(得分:2)
你需要Eclipse Mars,因为没有向后移植错误修复。
进入Run Configurations
,打开Java Application
。在Common
标签中,有一个Standard Input and Output
组,您可以在其中定义输入文件。