繁体   English   中英

有没有办法在 Java 进程构建器中执行多个 Linux 命令?

[英]Is there a way to execute multiple Linux commands in Java process builder?

我对 Java 很陌生,目前我正在努力在 Java 中执行 linux 命令。

在单个进程中,我想执行一个touch txt命令,让进程构建器等待一秒钟,然后在同一个进程中,删除txt文件。

我目前的代码如下

public void Shell(){
try {
  File dir = new File("/Users/yhlee/Documents");
  ProcessBuilder pb = new ProcessBuilder(new String[]{"/bin/bash", "-c", "touch commandTest.txt"});
  pb.directory(dir);
  Process start = pb.start();
  log.info("shell succeeded");

}catch (Exception e){
  e.printStackTrace();
  log.info("Error.Running.CMD");
}

在编写 txt 文件之后我被卡住了,任何形式的建议都将不胜感激!

我建议你避免创建一个 shell 来执行你的操作。 我还希望使用系统属性user.home来构建Documents文件夹的路径。 除非我遗漏了什么,你只要

File f = new File(System.getProperty("user.home"), "Documents/commandTest.txt");
try {
    f.createNewFile();
    TimeUnit.SECONDS.sleep(1);
} catch (Exception e) {
    e.printStackTrace();
}
f.deleteOnExit();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM