我已经尝试了http://docs.oracle.com/javase/6/docs/api/java/net/NetworkInterface.html,但似乎没有默认网关的字段。
我尝试的另一件事是执行本地ipconfig /all
命令并parsing结果,但是根据系统的区域设置而变化。
代替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(); }