トップ «前の日記(2005-12-13 [火]) 最新 次の日記(2005-12-15 [木])» 編集

SewiGの日記

2004|01|04|05|06|07|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|

2005-12-14 [水] [長年日記]

[Java][Programming] Default GatewayやDNS Server

java.netを使えば、例えば以下のようにIPアドレスが取得できます。

String address = (java.net.InetAddress.getLocalHost()).getHostAddress();

Default GatewayやDNS Serverは取得する方法がなさそうだったので、Windowsの場合は以下のようにして、外部コマンドの出力を使います。UNIXだったらifconfigを使えばいい。余計な文字はsubstringなんかで適宜消す、と。このままだと、環境依存で気持ち悪いので、Abstract Factoryなどで抽象化して利用できるようにするとなお良し。

Process p = new ProcessBuilder("ipconfig", "/all").start();
java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));
String address;
while ((address = br.readLine()) != null) {
	if (address.indexOf("DNS Servers") != -1) {
		System.out.println(address);
	}
}

Copyright © 2004-2008 SewiG All rights reserved.