我编写了一个名为Automate.java的java程序,其中将执行另一个名为newsmail的java程序。
我面临的问题是,Automate.java位于桌面位置(由于某些要求,应该只在桌面上)并且newsmail位于/home/Admin/GATE521/LN_RB
这个位置。
在下面的代码之前必须做什么,这样命令提示符会自动转到所需的文件夹并执行程序。
String command = "java newsmail";
Process child = Runtime.getRuntime().exec(command);
答案 0 :(得分:5)
您可以使用此exec()
:
Process child = Runtime.getRuntime().exec(command, null, new File("/home/Admin/GATE521/LN_RB"));
资源:
答案 1 :(得分:3)
使用新的ProcessBuilder
课程,而不是Runtime.exec()
。
ProcessBuilder pb = new ProcessBuilder("java", "newsmail");
pb.directory("/home/Admin/GATE521/LN_RB");
pb.start();
如果需要,您甚至可以查看pb.environment()
来更改环境变量。