Raj*_*jan 4 java ip-address ipv4 inetaddress
伙计们,
我正在寻找一个Java代码片段,它提供给定IP的下一个地址.
所以getNextIPV4Address("10.1.1.1")回归"10.1.1.2".
字符串运算可以完成,但最终可能会变得混乱.这样做是否有一种很正式的方式.
谢谢你的时间.
我正在寻找一个Java代码片段,它提供给定IP的下一个地址.
这是给你的片段:
public static String getNextIPV4Address(String ip) {
String[] nums = ip.split("\\.");
int i = (Integer.parseInt(nums[0]) << 24 | Integer.parseInt(nums[2]) << 8
| Integer.parseInt(nums[1]) << 16 | Integer.parseInt(nums[3])) + 1;
// If you wish to skip over .255 addresses.
if ((byte) i == -1) i++;
return String.format("%d.%d.%d.%d", i >>> 24 & 0xFF, i >> 16 & 0xFF,
i >> 8 & 0xFF, i >> 0 & 0xFF);
}
Run Code Online (Sandbox Code Playgroud)
示例输入/输出(ideone.com演示):
10.1.1.0 -> 10.1.1.1
10.255.255.255 -> 11.0.0.0
10.0.255.254 -> 10.1.0.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4783 次 |
| 最近记录: |