與IP相關的常用方法(java ip地址 解析)
1,使用java獲取本機網卡信息
關鍵接口:
java.net.NetworkInterface.getNetworkInterfaces();
--得到本地網卡信息;
結果如下:
displayName:MS TCP Loopback interface
Namelo
Ip:
/127.0.0.1
displayName:Intel(R) Wireless WiFi Link 4965AG - ????ü??????ò?????
Nameeth0
Ip:
displayName:Intel(R) 82566MM Gigabit Network Connection - ????ü??????ò?????
Nameeth1
Ip:
/192.168.0.252
關于亂碼問題,木有解決,可否有高手提示
2,跟據主機名獲取IP地址
www.baidu.com
220.181.111.148

關鍵接口:
java.net.NetworkInterface.getNetworkInterfaces();
--得到本地網卡信息;
1
try {
2
Enumeration<NetworkInterface> interworkInterface = NetworkInterface
3
.getNetworkInterfaces();
4
if (interworkInterface != null) {
5
NetworkInterface interfaces = null;
6
while (interworkInterface.hasMoreElements()) {
7
interfaces = interworkInterface.nextElement();
8
System.out.println("displayName:"
9
+ interfaces.getDisplayName());
10
System.out.println("Name"+interfaces.getName());
11
System.out.println("Ip:");
12
Enumeration<InetAddress> ips = interfaces.getInetAddresses();
13
while(ips.hasMoreElements()){
14
System.out.println(ips.nextElement());
15
}
16
}
17
} else {
18
System.out.println("not found network interfaces!");
19
}
20
} catch (SocketException e) {
21
e.printStackTrace();
22
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

結果如下:











關于亂碼問題,木有解決,可否有高手提示
2,跟據主機名獲取IP地址
1
InetAddress baiduIp = InetAddress.getByName("www.baidu.com");
2
System.out.println(baiduIp.getHostName());
3
System.out.println(baiduIp.getHostAddress());
結果為:
2

3




posted @ 2012-01-10 14:34 DoubleJ 閱讀(450) | 評論 (0) | 編輯 收藏