Java的。将字符串转换为虚线IP地址

时间:2014-07-01 13:47:50

标签: java oracle ip

我使用query(oracle,pl / sql)从表中检索IP地址:

String selectTableSQL = "SELECT IP "
                      + "FROM table";

ResultSet rs = stmt.executeQuery(selectTableSQL);

我这样收到字符串:

String ip = rs.getString("IP");

这是我的问题:一些IP地址(收到的字符串)看起来像-1402732545,但有些像16711681。如何将它们转换为虚线IP地址(172.20.10.226)?

非常感谢!

2 个答案:

答案 0 :(得分:2)

您实际上想要将数字转换为人类可读的IP地址。有关详细信息,请查看此文章。 http://www.mkyong.com/java/java-convert-ip-address-to-decimal-number/

答案 1 :(得分:2)

您将IP地址作为整数值获取,guava具有InetAddresses -

String addressStr = InetAddresses.fromInteger(Integer.parseInt(ip)).getHostAddress();

或者,只使用常规Java代码,

String addressStr = InetAddress.getByAddress(BigInteger.valueOf(Integer.parseInt(ip))
    .toByteArray()).getHostAddress();