java 执行wget 命令 返回127,如何处理
时间: 2024-04-12 10:30:19 浏览: 131
在 Java 中执行 shell 命令可以使用 `ProcessBuilder` 类。对于 `wget` 命令返回 127 的情况,这通常意味着找不到该命令。可能的原因是 `wget` 没有安装在系统上,或者 Java 程序无法找到 `wget` 命令的路径。
以下是一个处理该情况的示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class WgetCommand {
public static void main(String[] args) {
try {
// 构建 wget 命令
ProcessBuilder processBuilder = new ProcessBuilder("wget", "http://example.com");
// 执行命令并获取输出
Process process = processBuilder.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 检查命令是否执行成功
int exitCode = process.waitFor();
if (exitCode == 0) {
System.out.println("命令执行成功");
} else {
System.out.println("命令执行失败");
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
```
请确保 `wget` 命令已经正确安装在系统上,并且 Java 程序能够找到 `wget` 命令的路径。如果 `wget` 不在系统的默认路径中,可以在 `ProcessBuilder` 的构造函数中指定完整的路径。
阅读全文