Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过java进入特定目录(cd)并在其中执行bash命令(python服务器)?_Java_Bash_Javafx_Cd - Fatal编程技术网

如何通过java进入特定目录(cd)并在其中执行bash命令(python服务器)?

如何通过java进入特定目录(cd)并在其中执行bash命令(python服务器)?,java,bash,javafx,cd,Java,Bash,Javafx,Cd,我想做的是:首先进入某个目录,在需要使用cd目录路径的同一目录下启动服务器,但我读了前面的线程,发现我不能使用cd命令,因为它基本上是一个系统调用,而不是像ls这样的命令 我唯一的目标是以某种方式进入由Directorychooser选择的所需目录,并启动python-msimplehttpserver。我尝试了所有可能的答案,比如使用sh-c,以及所有其他解决方案,比如如何在java中使用cd命令。不使用cd也可以吗。 我还将directorychooser选择的地址转换为字符串地址。另外,我

我想做的是:首先进入某个目录,在需要使用
cd目录路径的同一目录下启动服务器,但我读了前面的线程,发现我不能使用cd命令,因为它基本上是一个系统调用,而不是像
ls
这样的命令

我唯一的目标是以某种方式进入由
Directorychooser
选择的所需目录,并启动
python-msimplehttpserver
。我尝试了所有可能的答案,比如使用sh-c,以及所有其他解决方案,比如如何在java中使用cd命令。不使用cd也可以吗。 我还将directorychooser选择的地址转换为字符串地址。另外,我如何执行该目录中的任何其他命令。我不确定是
Run.exec
还是runtime.exec仍然可以在这里提供帮助,因为它不做我尝试过的CD

前面的问题并没有很好地解释如何使用processbuilder和其他东西,任何帮助都将不胜感激

我也试过这些-

Runtime.getRuntime().exec(sh -c 'cd /path/to/dir && ProgToExecute

是的,这是可能的,我也遇到了同样的问题,我无法在任何地方制作
cd
,我就是这样解决的。你可以用ProcessBuilder实现你想要做的事情。(Runtime.exec()也没有帮助我,正如前面关于stackoverflow的回答所建议的那样) 以下是如何实现这一目标:

  • 构建流程
  • 指路
  • 开始这个过程
代码:

 ProcessBuilder pbuild = new ProcessBuilder(“command”); //split into number of tokens like following example
在您的案例中,有3个是这样的:

 ProcessBuilder pbuild = new ProcessBuilder("python" , "-m", "SimpleHTTPServer");
现在设置要执行流程的路径,即在此处间接执行
cd目录路径

 pbuild.directory(new File(address));
(你说你的路径存储在地址中,我猜是这样的)

现在开始这个过程

 Process proc = pbuild.start();
完成了!编译并运行。命令将使用
cd
执行