我试过http://docs.oracle.com/javase/6/docs/api/java/net/NetworkInterface.html 但这似乎没有默认网关的字段。
我尝试的另一件事是执行本地ipconfig /all
命令并解析结果,但这会根据系统的区域设置而有所不同。
答案 0 :(得分:2)
代替ipconfig / all,使用
netstat -rn
使用Runtime.exec()并解析结果,默认网关将是第二行。
Process result = Runtime.getRuntime().exec("netstat -rn");
BufferedReader output = new BufferedReader
(new InputStreamReader(result.getInputStream()));
String line = output.readLine();
while(line != null){
if ( line.startsWith("default") == true )
break;
line = output.readLine();
}