我在从Java调用系统命令时遇到问题。我试过以下内容:从java调用系统命令来保存日志文件
if (!found) {
dbContents += ";" + getPreviousValue(i, dbContents);
try {
String cmd = "echo \"Device " + headers[i] + " no data incoming at " + timeString + "\" >> /home/envir/11/log.txt";
Runtime.getRuntime().exec(cmd);
Console.out("N");
}
catch(IOException ioe) {
System.out.println(ioe);
}
问题是文件“log.txt”从来没有被创建过任何东西。我检查了,如果条款是否已经被执行或者不执行,我可以看到该消息
Console.out("N");
出现了,所以我不知道为什么代码前面2个行不。
这里是证据表明,“N”是印:
我必须说,这是我第一次使用从Java文件调用系统命令的这个东西,所以这也许可以更比可能是一个新手的错误。
我真的很感激,如果有人有这个答案。
在此先感谢。
谢谢Peter的回复。我也在控制台中单独尝试了这个命令,它确实创建了文件并附加了消息。问题来自我从Java调用它。 不过,我试过你的解决方案,它做我想要的。正如你所说的更快更清洁。非常感谢你! – sojeda