繁体   English   中英

从Java程序中运行bash命令

[英]Running a bash command from within a Java program

考虑一段Java代码:

import java.io.IOException;
public class Demo{
          public static void main(String []args) throws IOException{
                   ...
                   String abc="i am here";
                   System.out.println(abc);
 }

}

我想运行 - 在System.out.println()行之后立即回显“这是文件的文件”>> file1.txt,假设file1.txt在同一目录中。

ProcessBuilder类是更现代的版本。

import static java.lang.ProcessBuilder.Redirect.appendTo;

ProcessBuilder pb = new ProcessBuilder("/bin/echo", "THIS IS STUFF FOR THE FILE");
pb.redirectOutput(appendTo(new File("file1.txt")));
Process p = pb.start();

请注意,这直接调用/bin/echo而不是让bash查看PATH 这更安全,因为没有机会获得被黑的echo 此外,由于这不使用bash ,因此Java用于重定向输出。

使用Runtime.getRuntime()。exec()命令,如下所示:

Runtime.getRuntime().exec('echo "THIS IS STUFF FOR THE FILE!" > file1.txt');

文档可以在这里阅读。

如果它不起作用或者您发现该命令很方便并且想要了解更多信息,请自己帮忙并阅读本文 它会为你节省汗水。

暂无
暂无

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

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