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

时间:2015-07-05 20:22:58

标签: java eclipse

eclipse中曾经有一个bug阻止了运行配置将文件重定向到stdin,但据说已经修复了。但是,我找不到任何文档,告诉它如何修复它。

很容易误解我想要完成的事情,所以让我说清楚。我不是在寻找能够读取文件的代码。我不打算将文件名作为arg传递。我不打算重定向stdout或stderr。

我现有的代码采用普通标准输入,而不知道它是来自键盘还是文件:

scanner = new Scanner(System.in);
number = scanner.nextInt();

从文件重定向输入当然可以在命令提示符处完成,但我正试图通过触摸ctrl-F11按键自动配置eclipse。

公平警告,我已经做了很多网络搜索,试图自己回答这个问题,其中许多人声称答案在Run Configuration | Common但他们最终只为stdout工作。

3 个答案:

答案 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 标签中的文件   配置对话框。   enter image description here

正如预期的那样,这是刚刚发布的Eclipse 4.5的一个新功能,因此不适用于旧版本。

答案 2 :(得分:2)

你需要Eclipse Mars,因为没有向后移植错误修复。

进入Run Configurations,打开Java Application。在Common标签中,有一个Standard Input and Output组,您可以在其中定义输入文件。