【发布时间】:2010-10-22 09:43:03
【问题描述】:
是否可以在 Eclipse 中使用 I/O 重定向?
我想在java MyProgram <input.txt >output.txt 等命令行上重定向标准输入/输出,但我似乎无法让它在 Eclipse 中工作。我尝试将
【问题讨论】:
-
其实是有解决办法的,但是你可能已经走了;)
标签: java eclipse io-redirection
是否可以在 Eclipse 中使用 I/O 重定向?
我想在java MyProgram <input.txt >output.txt 等命令行上重定向标准输入/输出,但我似乎无法让它在 Eclipse 中工作。我尝试将
【问题讨论】:
标签: java eclipse io-redirection
您可以使用“运行”对话框、“通用”选项卡、“标准输入和输出”部分重定向输出。
但是,据我所知,您似乎无法重定向 输入(而且据 this Stack Overflow question 也可以告诉)。
您对自己的应用程序有多少控制权?如果您不介意一些 hack,您可以有几个属性或命令行参数来确定适当的文件,并相应地使用 System.setOut 和 System.setIn。它是虽然有点黑客......
【讨论】:
要真正重定向两者,最简单的方法仍然是将您的程序定义为外部脚本
"java %1 %2 %3 %4 < %5 > %6"
(根据您的特定程序调整参数数量)
在“运行”菜单中,单击“外部工具.../打开外部工具对话框”并定义一个外部启动配置,您将在其中指定参数以及输入和输出文件。
但这不是一个理想的解决方案,因为您无法直接调试您的代码(使用“调试”启动器配置)。
相反,您必须对其进行远程调试(在您的通用 Java 启动器脚本中添加“-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000”)
启动外部工具后,通过“调试启动器‘远程 Java 应用程序’”部分启动远程调试会话:
【讨论】: