如何进入特定目录(cd)并通过java在其中执行bash命令(python服务器)?
How to go into particular Directory (cd) and perform bash command(python server) in it through java?
我想做的是:首先进入某个目录并在我需要使用的同一目录中启动我的服务器 cd directory path
但我阅读了以前的线程并得到了 我不能使用 cd command,因为它基本上是一个系统调用,而不是像 ls
这样的命令。
我唯一的目标是以某种方式进入 Directorychooser
选择的我想要的目录并启动 python -m SimpleHTTPServer
。我尝试了所有可能的答案,例如使用 sh -c 和所有其他解决方案,以解决问题,例如如何在 java 中使用 cd 命令。这可能不使用 cd.
我也有 address choosed by directorychooser into string address 。另外我如何在该目录中执行任何其他命令。我不确定 Run.exec
或 runtime.exec 是否仍然可以在这里提供帮助,因为它不支持我试过的 CD!
以前的回答问题没有很好地解释如何使用 processbuilder 和其他东西,任何帮助表示赞赏。
也试过这些 -
Runtime.getRuntime().exec(sh -c 'cd /path/to/dir && ProgToExecute
是的,有可能,我也遇到了同样的问题,我无法在任何地方做 cd
,这个解决方案就是我解决它的方法。你可以用 [= 实现你想做的事情31=]ProcessBuilder。 (Runtime.exec() 也没有帮助我,正如之前关于 Whosebug 的答案所建议的那样)
以下是实现它的方法:
- 构建流程
- 给出路径
- 开始进程
在代码中:
ProcessBuilder pbuild = new ProcessBuilder(“command”); //split into number of tokens like following example
在你的例子中有 3 个像这样:
ProcessBuilder pbuild = new ProcessBuilder("python" , "-m", "SimpleHTTPServer");
现在设置要执行进程的路径即你在这里间接执行cd directory-path
pbuild.directory(new File(address));
(你说你的路径存储在地址中,我假设是这样)
现在开始流程
Process proc = pbuild.start();
完成!编译并 运行 。命令将以 cd
.
执行
我想做的是:首先进入某个目录并在我需要使用的同一目录中启动我的服务器 cd directory path
但我阅读了以前的线程并得到了 我不能使用 cd command,因为它基本上是一个系统调用,而不是像 ls
这样的命令。
我唯一的目标是以某种方式进入 Directorychooser
选择的我想要的目录并启动 python -m SimpleHTTPServer
。我尝试了所有可能的答案,例如使用 sh -c 和所有其他解决方案,以解决问题,例如如何在 java 中使用 cd 命令。这可能不使用 cd.
我也有 address choosed by directorychooser into string address 。另外我如何在该目录中执行任何其他命令。我不确定 Run.exec
或 runtime.exec 是否仍然可以在这里提供帮助,因为它不支持我试过的 CD!
以前的回答问题没有很好地解释如何使用 processbuilder 和其他东西,任何帮助表示赞赏。
也试过这些 -
Runtime.getRuntime().exec(sh -c 'cd /path/to/dir && ProgToExecute
是的,有可能,我也遇到了同样的问题,我无法在任何地方做 cd
,这个解决方案就是我解决它的方法。你可以用 [= 实现你想做的事情31=]ProcessBuilder。 (Runtime.exec() 也没有帮助我,正如之前关于 Whosebug 的答案所建议的那样)
以下是实现它的方法:
- 构建流程
- 给出路径
- 开始进程
在代码中:
ProcessBuilder pbuild = new ProcessBuilder(“command”); //split into number of tokens like following example
在你的例子中有 3 个像这样:
ProcessBuilder pbuild = new ProcessBuilder("python" , "-m", "SimpleHTTPServer");
现在设置要执行进程的路径即你在这里间接执行cd directory-path
pbuild.directory(new File(address));
(你说你的路径存储在地址中,我假设是这样)
现在开始流程
Process proc = pbuild.start();
完成!编译并 运行 。命令将以 cd
.