在Java中,你可以使用Runtime.exec()
方法來執行系統命令,從而實現ping功能。以下是一個簡單的示例:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class PingExample {
public static void main(String[] args) {
String target = "www.example.com"; // 你要ping的目標地址
int timeout = 1000; // 超時時間(毫秒)
try {
String pingCommand = "ping -c 1 -W " + timeout + " " + target;
Process process = Runtime.getRuntime().exec(pingCommand);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
int exitCode = process.waitFor();
System.out.println("Ping結果: " + exitCode);
} catch (IOException e) {
System.err.println("發生錯誤: " + e.getMessage());
} catch (InterruptedException e) {
System.err.println("線程被中斷: " + e.getMessage());
}
}
}
這個示例中,我們執行了一個ping命令,向指定的目標地址發送一個ICMP Echo請求。-c 1
表示發送一個數據包,-W 1000
表示等待響應的最大時間為1000毫秒。
請注意,這個示例僅適用于Linux和macOS系統。在Windows系統中,你需要將ping命令更改為ping -n 1 -w 1000 <target>
。
另外,由于安全原因,某些系統可能需要管理員權限才能執行ping命令。在這種情況下,你需要以管理員身份運行Java程序。