如何使這個工作在Windows上,文件filename.txt沒有被創建。運行時問題
Process p = Runtime.getRuntime().exec("cmd echo name > filename.txt");
顯然,期望輸出是一個 「FILENAME.TXT」 應被創建(C:\ Documents和Settings \用戶名\ FILENAME.TXT)與內容 「名稱」。
之所以能夠用下面的代碼來管理,即使該文件是 「FILENAME.TXT」 不被用的ProcessBuilder
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("cmd /c cleartool lsview");
// Directly to file
//Process p = Runtime.getRuntime().exec(
// new String[] { "cmd", "/c", "cleartool lsview > filename.txt" },null, new File("C:/Documents and Settings/username/"));
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
System.out.printf("Output of running %s is:",
Arrays.toString(args));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
或使用ProceessBuilder創建,
Process process = new ProcessBuilder("cmd", "/c", "cleartool lsview").start();
InputStream is = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
System.out.printf("Output of running %s is:", Arrays.toString(args));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
怎麼不工作嗎? – Bozho 2010-09-23 11:06:23
它不起作用的方式? – 2010-09-23 11:06:45
顯然?你是從'C:\ Documents and Settings \ username \'文件夾直接運行它嗎? – 2010-09-23 11:12:33