在特定文件夹中打开终端

时间:2018-08-09 17:59:46

标签: java terminal runtime processbuilder

String command= "/usr/bin/xterm"; 
Runtime rt = Runtime.getRuntime();  
Process pr = rt.exec(command);

使用上面的代码,我设法使用Java打开终端,但是“问题”是终端在我的Java项目所在的文件夹中打开。如何打开终端并将其自动重定向到特定文件夹,例如,我希望在下载文件夹中打开终端。

2 个答案:

答案 0 :(得分:0)

您可以运行带有xterm选项的-e来在目录启动时更改目录。如:

String command= "/usr/bin/xterm -e 'cd /home; bash'";

答案 1 :(得分:0)

执行此操作的另一种方法是将工作目录作为File传递到Runtime的{​​{3}},并带有以下签名:

exec(String command, String[] envp, File dir)
// Executes the specified string command in a separate process with the 
// specified environment and working directory.

类似这样的东西:

String command = "/usr/bin/xterm"; 
File workDir = new File("/home/Download");
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command, null, workDir);