发布网友 发布时间:2022-04-19 22:43
共3个回答
热心网友 时间:2023-09-16 01:40
Java运行命令行并获取返回值,下面以简单的Java执行ping命令(ping 127.0.0.1 -t
)为例,代码如下:
热心网友 时间:2023-09-16 01:40
运行cmd.exe 这个程序捕捉process.get InputStream 读取输出,捕捉.getOutputStream 发送命令。追问你好,谢谢追答你把 response 里面的 run 方法改成你要的, request 里面的 run 方法是发送命令。样例中我向 request 中发送了 dir 命令,然后在 response 中得到了输出。
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class Main {
public static void main(String[] args) throws IOException {
Process shell = Runtime.getRuntime().exec("cmd.exe");
final InputStream input = shell.getInputStream();
final OutputStream output = shell.getOutputStream();
Thread request = new Thread() {
public void run() {
try {
output.write("dir".getBytes());
} catch (Exception e) {
e.printStackTrace();
}
}
};
request.start();
Thread response = new Thread() {
public void run() {
int c = -1;
byte[] buf = new byte[512];
try {
while ((c = input.read(buf)) != -1) {
System.out.print(new String(buf, 0, c));
}
} catch (Exception e) {
e.printStackTrace();
}
}
};
response.start();
}
}
热心网友 时间:2023-09-16 01:41
C盘转D盘 应该是直接