如何使用ProcessBuilder设置工作目录 [英] How to set working directory with ProcessBuilder

查看:1423
本文介绍了如何使用ProcessBuilder设置工作目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在ubuntu的主目录中启动一个进程。我得到一个超出界限的数组异常。以下是代码:

I am trying start a process in my home directory in ubuntu. I am getting an array out of bounds exception. Here is the code:

Process p = null;
ProcessBuilder pb = new ProcessBuilder();
pb.directory(new File("/home"));
p = pb.start();

以下是例外情况:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
    at tester.Main.main(Main.java:31)
Java Result: 1


推荐答案

您正在尝试执行/ home并且它不是可执行文件。 构造函数进程构建器的参数是要执行的命令。

You are trying to execute /home and it is not an executable file. The constructor argument of the process builder is the command to execute.

您想要设置工作目录。你可以通过目录方法。

You want to set the working directory. You can that it via the directory method.

以下是一个完整的示例:

Here is a complete example:

Process p = null;
ProcessBuilder pb = new ProcessBuilder("do_foo.sh");
pb.directory(new File("/home"));
p = pb.start();

这篇关于如何使用ProcessBuilder设置工作目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆