Runtime.exec執行dos命令不正確

gagaghost發表於2007-05-13

我試了好長的時間都執行不正確,於是採用折衷的方式解決了,那就是寫成指令碼檔案,在執行指令碼就沒有問題了。如果需要傳入引數,從程式中傳入就可以了。如下所示:

String script = application.getRealPath("/script/windows/cpu.bat");
String output = application.getRealPath("/temp/windows/cpu.txt");

System.out.println(script);
System.out.println(output);
try {
Runtime.getRuntime().exec(
new String[] { script, output });
} catch (Exception ex) {
ex.printStackTrace();
}

File file = new File(output);
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
while ((tempString = reader.readLine()) != null) {
out.println(tempString + "
");
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/5859/viewspace-914842/,如需轉載,請註明出處,否則將追究法律責任。

相關文章