标题:使用Java的ProcessBuilder执行多次CMD操作
摘要: Java的ProcessBuilder类提供了一种方便的方式来执行系统命令,并获取命令执行的结果。本篇博客将介绍如何使用ProcessBuilder类执行多次CMD操作,并展示一些常见的应用场景。
import java.lang.ProcessBuilder;
ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "dir");
在上面的示例中,我们创建了一个执行"dir"命令的ProcessBuilder对象。
pb.directory(new File("C:\\path\\to\\directory"));
在上面的示例中,我们将工作目录设置为"C:\path\to\directory"。
Process p = pb.start();
InputStream is = p.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
public class CmdExecutionExample {
public static void main(String[] args) {
// 第一次CMD操作
ProcessBuilder pb1 = new ProcessBuilder("cmd", "/c", "dir");
pb1.directory(new File("C:\\path\\to\\directory1"));
try {
Process p1 = pb1.start();
InputStream is1 = p1.getInputStream();
BufferedReader br1 = new BufferedReader(new InputStreamReader(is1));
String line1;
while ((line1 = br1.readLine()) != null) {
System.out.println(line1);
}
} catch (Exception e) {
e.printStackTrace();
}
// 第二次CMD操作
ProcessBuilder pb2 = new ProcessBuilder("cmd", "/c", "mkdir", "new_directory");
pb2.directory(new File("C:\\path\\to\\directory2"));
try {
Process p2 = pb2.start();
InputStream is2 = p2.getInputStream();
BufferedReader br2 = new BufferedReader(new InputStreamReader(is2));
String line2;
while ((line2 = br2.readLine()) != null) {
System.out.println(line2);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
总结: 通过使用Java的ProcessBuilder类,我们可以轻松地执行多次CMD操作,并获取命令执行的结果。这种方法可以应用于很多实际的场景,例如执行命令行工具、自动化脚本等。希望本篇博客能够帮助读者更好地理解和应用ProcessBuilder类。