我使用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)?
非常感谢!
答案 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();