android java 截取 cmd命令返回的字符串
时间: 2024-01-27 22:05:45 浏览: 79
在java中截取字符串
4星 · 用户满意度95%
在Android中,可以使用`ProcessBuilder`和`Process`类来执行命令并截取其返回的字符串。以下是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CommandOutputExample {
public static void main(String[] args) {
try {
String command = "ls"; // 要执行的命令,这里以执行ls命令为例
// 创建进程构建器
ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command(command.split("\\s+")); // 以空格分隔命令和参数
// 启动进程并获取其输出流
Process process = processBuilder.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
// 读取命令执行结果
String line;
StringBuilder output = new StringBuilder();
while ((line = reader.readLine()) != null) {
output.append(line).append("\n");
}
// 等待命令执行完成
int exitCode = process.waitFor();
if (exitCode == 0) {
System.out.println("命令执行成功!");
System.out.println("命令输出结果:\n" + output.toString());
} else {
System.out.println("命令执行失败!");
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们使用`ProcessBuilder`来创建一个进程构建器,并指定要执行的命令。然后,我们启动进程并获取其输出流。通过读取输出流,我们可以获取命令执行的结果。
请注意,Android中的命令执行方式与Windows略有不同。在这个示例中,我们不需要使用`cmd.exe`,而是直接传递命令和参数的数组。
这只是一个简单的示例,您可以根据实际需求进行调整和扩展。另外,还要注意处理进程的异常情况,以及等待命令执行完成。
阅读全文