我在從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