1 package com.javaliang.net;
2
3 import java.net.InetAddress;
4 import java.net.UnknownHostException;
5
6 /**
7 * 鍖呭惈緗戠粶緙栫▼涓瘮杈冨父鐢ㄧ殑瀹炵敤鏂規硶
8 * @author Ice Spring
9 * @version
10 */
11 public class NetTool {
12
13 /**
14 * 鍒ゆ柇涓涓瓧絎︿覆鏄惁涓篒P鍦板潃
15 *
16 * 鍒ゆ柇鍩轟簬浠ヤ笅鍑嗗垯
17 * <ul>
18 * <li>涓嶄負絀猴紙榪欏寘鎷┖鎸囬拡鍜岀┖涓詫級
19 * <li>鐢辮“.”鍒嗗壊鐨勫洓涓ぇ灝忓湪0~255涔嬮棿鐨勬暟瀛楃粍鎴?br /> 20 * </ul>
21 * @param ipAddress 闇瑕佸垽鏂殑瀛楃涓?br /> 22 * @return 鏄惁鏄疘P鍦板潃
23 */
24 public static boolean isIpAddress(String ipAddress){
25 //鍒ゆ柇鏄惁涓虹┖,涓虹┖鍒欎負鍋?/span>
26 if(ipAddress==null||ipAddress.equals("")){
27 return false;
28 }
29
30 String strs[] = ipAddress.replace(".", ";").split(";");
31
32 //濡傛灉緇忚繃"."鍒嗗壊鍚庝笉瓚沖洓浣嶏紝榪斿洖鍋?/span>
33 if(strs.length!=4){
34 return false;
35 }
36 int[] add = new int[4];
37 try{
38 for(int i = 0 ; i < 4 ; i ++){
39 add[i] = Integer.parseInt(strs[i]);
40 if(add[i]<0||add[i]>255){
41 return false;
42 }
43 }
44 }catch(Exception e){
45 return false;
46 }
47
48 return true;
49 }
50
51 /**
52 * 鑾峰彇鍘熷鏁版嵁綾誨瀷鐨処P鍦板潃錛氫竴涓暱搴︿負4鐨刡yte鏁扮粍錛岄珮浣嶅瓨鍦ㄤ簬getAddress()[0]涓?br /> 53 * @param ipAddress 瀛楃涓插艦寮忕殑ip鍦板潃
54 * @return 鍘熷IP鍦板潃
55 */
56 public static byte[] getIpByte(String ipAddress){
57 byte[] ip = new byte[4];
58 if(!NetTool.isIpAddress(ipAddress)){
59 return ip;
60 }
61 String strs[] = ipAddress.replace(".", ";").split(";");
62 for(int i = 0; i < 4 ; i++){
63 ip[i] = (byte) Integer.parseInt(strs[i]);
64 }
65 return ip;
66 }
67
68 /**
69 * 鏍規嵁鍘熷綾誨瀷鐨処P鍦板潃鑾峰彇鍏跺瓧絎︿覆琛ㄧず褰㈠紡
70 * @param ip 鍘熷IP鍦板潃錛氬繀欏繪槸涓涓暱搴︿負4鐨刡yte鏁扮粍錛岄珮浣嶅瓨鍦ㄤ簬getAddress()[0]涓?br /> 71 * @return 鍘熷IP鍦板潃鐨勫瓧絎︿覆琛ㄧず褰㈠紡<b>濡傛灉杞崲澶辮觸浼氳繑鍥炵┖涓?lt;b>
72 */
73 public static String getIpStr(byte[] ip){
74 if(ip.length!=4) return "";
75 String str = "";
76 try {
77 InetAddress net = InetAddress.getByAddress(ip);
78 str = net.getHostAddress();
79 } catch (UnknownHostException e) {
80 }
81 return str;
82 }
83
84 /**
85 * 鏍規嵁涓涓〃紺篒P鍦板潃鐨勫瓧絎︿覆榪斿洖鍏跺搴旂殑InetAddress瀵硅薄
86 * @param ipAdd IP鍦板潃鐨勫瓧絎︿覆琛ㄧず褰㈣薄
87 * @return 瀵瑰簲鐨処netAddress瀵硅薄錛屽鏋滃彂鐢熼敊璇垯榪斿洖絀?br /> 88 */
89 public static InetAddress getInetAddress(String ipAdd){
90 if(ipAdd == null || !NetTool.isIpAddress(ipAdd)){
91 return null;
92 }
93 byte[] ip = NetTool.getIpByte(ipAdd);
94 try {
95 return InetAddress.getByAddress(ip);
96 } catch (UnknownHostException e) {
97 e.printStackTrace();
98 return null;
99 }
100 }
101
102 /**
103 * 鏍規嵁Ip鍦板潃鐨勫師濮嬭〃紺哄艦寮忚繑鍥炲搴旂殑InetAddress瀵硅薄銆?br />104 * @param ipadd 浠yte鏁扮粍琛ㄧず鐨処P鍦板潃
105 * @return InetAddress 瀵硅薄
106 */
107 public static InetAddress getInetAddress(byte[] ipadd){
108 try {
109 return InetAddress.getByAddress(ipadd);
110 } catch (UnknownHostException e) {
111 e.printStackTrace();
112 }
113 return null;
114 }
115
116 public static void main(String[] args){
117
118 }
119
120 }
121

]]>