如何在Java运行时中使用“ cd”命令?
我创建了一个独立的Java应用程序,试图在Ubuntu 10.04终端中使用“ cd”命令更改目录。我使用了以下代码。
String[] command = new String[]{"cd",path};Process child = Runtime.getRuntime().exec(command, null);
但是上面的代码给出了以下错误
Exception in thread "main" java.io.IOException: Cannot run program "cd": java.io.IOException: error=2, No such file or directory
谁能告诉我如何实施?
回答:
没有称为的可执行文件cd
,因为它 在单独的进程中实现。
问题在于,每个进程都有自己的当前工作目录,将其实现cd
为一个单独的进程只会更改 进程的当前工作目录。
在Java程序中,您 更改当前的工作目录,也不需要更改。只需使用绝对文件路径。
当前工作目录很重要的一种情况是执行外部进程(使用ProcessBuilder
或Runtime.exec()
)。在这些情况下,您可以显式指定要用于新启动的进程的工作目录(分别ProcessBuilder.directory()
为三个参数Runtime.exec()
)。
注意:当前工作目录可以从system属性中
读取user.dir
。您可能会很想 设置
该系统属性。请注意,这样做会导致非常糟糕的不一致性,因为它不 _意味着_可写。
以上是 如何在Java运行时中使用“ cd”命令? 的全部内容, 来源链接: utcz.com/qa/432822.html