www.pudn.com > network-java.rar > Convert.java


package netManager.discovery; 
 
/** 
 * 

Title: Convert

*

Description: IP地址各种转化

*

Copyright: Copyright (c) 2006

*

Company:

* @author:谢飞 * @version 1.0 */ public final class Convert{ /** *将IP地址转化位二进制 */ public static String toBinary(String strIP){ long [] ip=new long[4]; int position1=strIP.indexOf("."); int position2=strIP.indexOf(".",position1+1); int position3=strIP.indexOf(".",position2+1); ip[0]=Long.parseLong(strIP.substring(0,position1)); ip[1]=Long.parseLong(strIP.substring(position1+1,position2)); ip[2]=Long.parseLong(strIP.substring(position2+1,position3)); ip[3]=Long.parseLong(strIP.substring(position3+1)); Long longIP = (ip[0]<<24)+(ip[1]<<16)+(ip[2]<<8)+ip[3]; //将十进制数的前三个八位分别往左移24,16,8位 return Long.toBinaryString(longIP); } /** *将十进制数转换位IP地址 */ public static String toIP(Long longIP){ StringBuffer sb=new StringBuffer(""); sb.append(String.valueOf(longIP>>>24)); //直接右移24位 sb.append("."); sb.append(String.valueOf((longIP&0x00FFFFFF)>>>16)); //将高8位置0,然后右移16位 sb.append("."); sb.append(String.valueOf((longIP&0x0000FFFF)>>>8)); sb.append("."); sb.append(String.valueOf(longIP&0x000000FF)); return sb.toString(); } /** *将IP地址转换位十进制长整数 */ public static Long toDecimalist(String strIP){ long [] ip=new long[4]; int position1=strIP.indexOf("."); int position2=strIP.indexOf(".",position1+1); int position3=strIP.indexOf(".",position2+1); ip[0]=Long.parseLong(strIP.substring(0,position1)); ip[1]=Long.parseLong(strIP.substring(position1+1,position2)); ip[2]=Long.parseLong(strIP.substring(position2+1,position3)); ip[3]=Long.parseLong(strIP.substring(position3+1)); Long longIP = (ip[0]<<24)+(ip[1]<<16)+(ip[2]<<8)+ip[3]; return longIP; } /** *返回保存IP地址中的4部分十进制数的数组 */ public static int [] getPartIP(String strIP){ int [] ip=new int[4]; int position1=strIP.indexOf("."); int position2=strIP.indexOf(".",position1+1); int position3=strIP.indexOf(".",position2+1); ip[0]=Integer.parseInt(strIP.substring(0,position1)); ip[1]=Integer.parseInt(strIP.substring(position1+1,position2)); ip[2]=Integer.parseInt(strIP.substring(position2+1,position3)); ip[3]=Integer.parseInt(strIP.substring(position3+1)); return ip; } }