[英]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用于重定向输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.