如何使它在 windows 上工作,文件 filename.txt 没有被创建。
Process p = Runtime.getRuntime().exec("cmd echo name > filename.txt");
显然,预期的输出是应该创建一个“filename.txt”(C:\Documents and Settings\username\filename.txt),内容为“name”。
能够使用以下代码进行管理,即使文件是“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);
}