0
基本上我想在Java中执行以下Scala代码的等效操作。如何在Java中执行命令并将其输出重定向到文件
command #> new java.io.File(outputFileName) !
或者等效于Python中的以下内容。
os.system(command + " > " + outputFileName)
我想出了以下代码。它够好吗?即使这样,有没有更简单的方法呢?
String [] Command = new String[...];
Command[0] = ...
Command[1] = ...
...
Process proc = Runtime.getRuntime().exec(Command);
BufferedReader br = new BufferedReader(new InputStreamReader (proc.getInputStream()));
String line;
PrintWriter pw = new PrintWriter(outputFileName);
while ((line = br.readLine()) != null)
pw.write(line);
pw.close();
你能解释一下吗? Java中的新java.io.File(outputFilename)不会“做”任何事情。文件只是一个文件的表示,它们可能不存在或其中没有任何数据。 – markspace
这个例子是在Scala中,而不是Java,我测试过它。有用! – pythonic
至少我不知道更好的方式在java中执行它,比如在scala中('ls -l“#> new File(”my.log“))。' – prayagupd