Eclipse中的I / O重定向?

是否可以在Eclipse中使用I / O重定向?

我想在命令行上重定向标准输入/输出,如java MyProgram output.txt ,但我似乎无法让它在Eclipse中工作。 我尝试将<s作为程序参数的一部分,它被忽略了,并且还在VM参数中,它只是抛出了一个未找到类的错误。 我怎样才能做到这一点?

要真正重定向两者,最简单的方法仍然是将程序定义为外部脚本

  "java %1 %2 %3 %4 < %5 > %6" 

(根据您的特定程序调整参数数量)

在“运行”菜单中,单击“外部工具… /打开外部工具对话框”并定义外部启动配置,您将在其中指定参数以及输入和输出文件。


但它不是一个理想的解决方案,因为您无法直接调试代码(使用“调试”启动器配置)。
相反,你必须远程调试它(在你的通用Java启动器脚本中添加’ -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 ‘)

启动外部工具后,通过“debug launcher’Remote Java Application”部分启动远程调试会话:

远程调试,在blog.jmwyttenbach.net/wp-content/uploads/2007/10/eclipseremotedebug.jpg之后

您可以使用“运行”对话框,“常用”选项卡,“标准输入和输出”部分重定向输出

但是,就我所知,它看起来不像你可以重定向输入 (并且就此Stack Overflow问题而言也是如此)。

您对应用程序有多少控制权? 如果你不介意一点hack,你可以有几个属性或命令行参数来确定适当的文件,并相应地使用System.setOutSystem.setIn 。 这有点像黑客…