Java可通过执行系统命令来执行操作系统的命令。在Windows下,这意味着执行命令提示符(cmd)命令。本文将讲述如何在Java中执行Windows下的cmd命令。
使用Java的Runtime类执行命令
Java的Runtime类可用于执行Windows下的cmd命令。
Runtime类的exec方法
可以通过Java的Runtime类的方法exec方法执行命令。要执行Windows下的cmd命令,只需传入要执行的命令作为参数即可。
示例代码:
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ExecuteCommand {
public static void main(String[] args) {
try {
String command = "cmd /c dir";
Process process = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
process.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
}
该代码执行了Windows下的dir命令,并将其结果打印到控制台。
cmd /c命令
在执行Windows下的cmd命令时,需要使用cmd /c命令来执行。它将执行指定的命令并关闭cmd窗口。如果未使用该命令,则cmd窗口将保持打开状态并等待用户输入。
在示例代码中,通过将“cmd /c”添加到要执行的命令字符串前面来指示要执行命令提示符命令。
使用ProcessBuilder类执行命令
Java的ProcessBuilder类可用于执行Windows下的cmd命令。
ProcessBuilder类的start方法
ProcessBuilder类具有一种start方法,在其中可以指定要执行的命令。要执行Windows下的cmd命令,只需传入要执行的命令作为参数即可。
示例代码:
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ExecuteCommand {
public static void main(String[] args) {
try {
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", "dir");
Process process = pb.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
process.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
}
该代码执行了Windows下的dir命令,并将其结果打印到控制台。
cmd.exe /c命令
在执行Windows下的cmd命令时,需要使用cmd.exe /c命令来执行。它将执行指定的命令并关闭cmd窗口。如果未使用该命令,则cmd窗口将保持打开状态并等待用户输入。
在示例代码中,通过将“cmd.exe”、“/c”和要执行的命令字符串添加到ProcessBuilder对象的构造函数中来指示要执行命令提示符命令。
以上就是两种执行Windows下的cmd命令的方法。以上示例可以用于调用任何Windows命令,只需要将要执行的命令作为参数传递即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java执行windows下cmd命令的方法 - Python技术站