我有一个c#控制台应用程序我将发送使用Java的评论,使用此处描述的技术Sending commands to a console application?
我的问题是控制台应用程序位于与jar相同的文件夹中的文件夹中,我无法找到如何相对于与jar相同的目录执行文件。
我在Java中尝试过很多东西,比如
Process pr = Runtime.getRuntime().exec("runtime_libraries/consoleapp.exe");
但它说无法找到该文件。
java.io.IOException: CreateProcess error=2, The system cannot find the file specified
我认为这很简单,但显然不是。
所以我的问题是,如何将相对路径放入Runtime exec?
答案 0 :(得分:1)
当你遇到这类问题时,你需要做一些初步检查......
System.out.println(System.getProperty("user.dir"));
验证您当前的投放位置,并确保它在您预期的位置; consoleapp.exe
System.out.println(new File("runtime_libraries/consoleapp.exe").exists()));
是否存在
醇>
大多数IDE允许您在开发期间更改工作目录。在生产中,您应该确保正确设置工作目录(例如,在Windows下,您可以将快捷方式配置为"在指定位置启动")