0

考虑一段 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);
 }

}

我想运行 - echo "THIS IS STUFF FOR THE FILE" >> file1.txt - 在 System.out.println() 行之后立即运行,假设 file1.txt 在同一目录中。

4

2 回答 2

2

该类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 用于重定向输出。

于 2013-05-29T22:41:10.527 回答
-1

像这样使用 Runtime.getRuntime().exec() 命令:

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

可以在此处阅读文档。

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

于 2013-05-29T22:42:13.240 回答