求字符串转换成IP地址的方法 在数据库里面存有String 型的IP地址 ,通过应用程序取出后,里转换成可以用于TCP/IP连接使用的IP地址,怎么转换?要用什么函数或方法?请各位路过的大侠指点一下,小弟不胜感激 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.util.StringTokenizer;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: </p> * @author not attributable * @version 1.0 */public class IPFormat { public IPFormat() { } public static long converToLongIp(String strIp) throws IllegalArgumentException { long retLong = 0; int[] intIps = convertToIntIps(strIp); int len = intIps.length; for (int i = 0; i < len; i++) { retLong <<= 8; retLong = retLong + intIps[i]; } return retLong; } public static int[] convertToIntIps(String argIpAddress) throws IllegalArgumentException { StringTokenizer st = new StringTokenizer(argIpAddress, "."); int counts = st.countTokens(); if (counts != 4) throw new IllegalArgumentException("Invalid Ip format"); int[] retIps = new int[counts]; try { String[] ss = new String[counts]; for (int i = 0; i < counts; i++) { ss[i] = st.nextToken(); int intIp = Integer.parseInt(ss[i]); if (intIp > 255) { throw new IllegalArgumentException("Invalid Ip Format"); } retIps[i] = intIp; } } catch (Exception e) { throw new IllegalArgumentException("Invalid Ip format"); } return retIps; } public static void main(String args[]) { converToLongIp("10.1.0.2"); }} package org.jr.net;/** * <p>Copyright: Copyright (c) 2002-2003</p> * <p>Company: JavaResearch(http://www.javaresearch.org)</p> * <p>最后更新日期:2003年3月4日 * @author Cherami */import java.net.*;/** * IP地址相关的工具类,封装常用的IP工具方法。 * @since 0.12 */public class IPUtil { /** * 非法IP地址常量。 * @since 0.12 */ public static final String INVALID_IP = "0.0.0.0"; /** * 未知主机名常量。 * @since 0.12 */ public static final String UNKNOWN_HOST = ""; /** * 私有构造方法,防止类的实例化,因为工具类不需要实例化。 */ private IPUtil() { } /** * 根据主机名得到IP地址字符串。 * @param hostName 要查找地址的主机名 * @return 对应主机的IP地址,主机名未知或者非法时返回INVALID_IP。 * @since 0.12 */ public static String getByName(String hostName) { try { InetAddress inet = InetAddress.getByName(hostName); return inet.getHostAddress(); } catch (UnknownHostException e) { return INVALID_IP; } } /** * 根据IP地址得到主机名。 * @param ip 要查找主界面的IP地址 * @return 对应IP的主机名,IP地址未知时返回UNKNOWN_HOST,IP地址未知也可能是网络问题造成的。 * @since 0.12 */ public static String getHostName(String ip) { try { InetAddress inet = InetAddress.getByName(ip); return inet.getHostName(); } catch (UnknownHostException e) { return UNKNOWN_HOST; } }} package org.jr.net;/** * <p>Copyright: Copyright (c) 2002-2003</p> * <p>Company: JavaResearch(http://www.javaresearch.org)</p> * <p>最后更新日期:2003年3月4日 * @author Cherami */import java.net.*;/** * IP地址相关的工具类,封装常用的IP工具方法。 * @since 0.12 */public class IPUtil { /** * 非法IP地址常量。 * @since 0.12 */ public static final String INVALID_IP = "0.0.0.0"; /** * 未知主机名常量。 * @since 0.12 */ public static final String UNKNOWN_HOST = ""; /** * 私有构造方法,防止类的实例化,因为工具类不需要实例化。 */ private IPUtil() { } /** * 根据主机名得到IP地址字符串。 * @param hostName 要查找地址的主机名 * @return 对应主机的IP地址,主机名未知或者非法时返回INVALID_IP。 * @since 0.12 */ public static String getByName(String hostName) { try { InetAddress inet = InetAddress.getByName(hostName); return inet.getHostAddress(); } catch (UnknownHostException e) { return INVALID_IP; } } /** * 根据IP地址得到主机名。 * @param ip 要查找主界面的IP地址 * @return 对应IP的主机名,IP地址未知时返回UNKNOWN_HOST,IP地址未知也可能是网络问题造成的。 * @since 0.12 */ public static String getHostName(String ip) { try { InetAddress inet = InetAddress.getByName(ip); return inet.getHostName(); } catch (UnknownHostException e) { return UNKNOWN_HOST; } }} DrawImaeg显示不出来。。。 Java1.5以上的范型,到底是编译时的还是运行时的? 初学者的小问题,麻烦指教下---->为什么PrintStream一定要定义为属性 求一诡异JAVA题的答案 如何让打开图片的尺寸和JFrame的尺寸保持一致! 关于调用系统中的时间 救命 为啥删除不了文件? 关于JAVA包的问题 请教:怎样给树的不同节点加上浮动的提示信息? 问个土问题 在逐步义读文本时出错, help arraylist或hashmap如何进行数组行列转置
import java.util.StringTokenizer;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/public class IPFormat {
public IPFormat() {
} public static long converToLongIp(String strIp) throws
IllegalArgumentException { long retLong = 0;
int[] intIps = convertToIntIps(strIp);
int len = intIps.length; for (int i = 0; i < len; i++) {
retLong <<= 8;
retLong = retLong + intIps[i];
} return retLong;
} public static int[] convertToIntIps(String argIpAddress) throws
IllegalArgumentException {
StringTokenizer st = new StringTokenizer(argIpAddress, ".");
int counts = st.countTokens();
if (counts != 4)
throw new IllegalArgumentException("Invalid Ip format"); int[] retIps = new int[counts];
try { String[] ss = new String[counts];
for (int i = 0; i < counts; i++) {
ss[i] = st.nextToken(); int intIp = Integer.parseInt(ss[i]);
if (intIp > 255) {
throw new IllegalArgumentException("Invalid Ip Format");
}
retIps[i] = intIp;
} }
catch (Exception e) {
throw new IllegalArgumentException("Invalid Ip format");
} return retIps;
} public static void main(String args[]) {
converToLongIp("10.1.0.2");
}
}
* <p>Copyright: Copyright (c) 2002-2003</p>
* <p>Company: JavaResearch(http://www.javaresearch.org)</p>
* <p>最后更新日期:2003年3月4日
* @author Cherami
*/import java.net.*;/**
* IP地址相关的工具类,封装常用的IP工具方法。
* @since 0.12
*/public class IPUtil {
/**
* 非法IP地址常量。
* @since 0.12
*/
public static final String INVALID_IP = "0.0.0.0";
/**
* 未知主机名常量。
* @since 0.12
*/
public static final String UNKNOWN_HOST = "";
/**
* 私有构造方法,防止类的实例化,因为工具类不需要实例化。
*/
private IPUtil() {
} /**
* 根据主机名得到IP地址字符串。
* @param hostName 要查找地址的主机名
* @return 对应主机的IP地址,主机名未知或者非法时返回INVALID_IP。
* @since 0.12
*/
public static String getByName(String hostName) {
try {
InetAddress inet = InetAddress.getByName(hostName);
return inet.getHostAddress();
}
catch (UnknownHostException e) {
return INVALID_IP;
}
} /**
* 根据IP地址得到主机名。
* @param ip 要查找主界面的IP地址
* @return 对应IP的主机名,IP地址未知时返回UNKNOWN_HOST,IP地址未知也可能是网络问题造成的。
* @since 0.12
*/
public static String getHostName(String ip) {
try {
InetAddress inet = InetAddress.getByName(ip);
return inet.getHostName();
}
catch (UnknownHostException e) {
return UNKNOWN_HOST;
}
}
}
* <p>Copyright: Copyright (c) 2002-2003</p>
* <p>Company: JavaResearch(http://www.javaresearch.org)</p>
* <p>最后更新日期:2003年3月4日
* @author Cherami
*/import java.net.*;/**
* IP地址相关的工具类,封装常用的IP工具方法。
* @since 0.12
*/public class IPUtil {
/**
* 非法IP地址常量。
* @since 0.12
*/
public static final String INVALID_IP = "0.0.0.0";
/**
* 未知主机名常量。
* @since 0.12
*/
public static final String UNKNOWN_HOST = "";
/**
* 私有构造方法,防止类的实例化,因为工具类不需要实例化。
*/
private IPUtil() {
} /**
* 根据主机名得到IP地址字符串。
* @param hostName 要查找地址的主机名
* @return 对应主机的IP地址,主机名未知或者非法时返回INVALID_IP。
* @since 0.12
*/
public static String getByName(String hostName) {
try {
InetAddress inet = InetAddress.getByName(hostName);
return inet.getHostAddress();
}
catch (UnknownHostException e) {
return INVALID_IP;
}
} /**
* 根据IP地址得到主机名。
* @param ip 要查找主界面的IP地址
* @return 对应IP的主机名,IP地址未知时返回UNKNOWN_HOST,IP地址未知也可能是网络问题造成的。
* @since 0.12
*/
public static String getHostName(String ip) {
try {
InetAddress inet = InetAddress.getByName(ip);
return inet.getHostName();
}
catch (UnknownHostException e) {
return UNKNOWN_HOST;
}
}
}