package getIpList;
public class IpConverter {
public static void main(String[] args) {
IpConverter obj = new IpConverter();
String ip1 = "192.168.1.100";
String ip2 = "192.168.2.255";
final long from = obj.ipToLong(ip1);
final long to = obj.ipToLong(ip2);
if(from > to) {
System.out.println("시작IP는 끝IP보다 값이 작아야 합니다.");
return;
}
for (long i = from; i <= to; i++) {
System.out.println(obj.longToIp(i));
}
}
public long ipToLong(String ipAddress) {
// ipAddressInArray[0] = 192
String[] ipAddressInArray = ipAddress.split("\\.");
long result = 0;
for (int i = 0; i < ipAddressInArray.length; i++) {
int power = 3 - i;
int ip = Integer.parseInt(ipAddressInArray[i]);
// 1. 192 * 256^3
// 2. 168 * 256^2
// 3. 1 * 256^1
// 4. 2 * 256^0
result += ip * Math.pow(256, power);
}
return result;
}
public String longToIp(long i) {
return ((i >> 24) & 0xFF) +
"." + ((i >> 16) & 0xFF) +
"." + ((i >> 8) & 0xFF) +
"." + (i & 0xFF);
}
}
'자바·JSP' 카테고리의 다른 글
POST, GET 방식 확인 (0) | 2018.01.25 |
---|---|
원리금 균등 분할 상환 계산 (0) | 2017.12.20 |
jsoup 사용 예제 (0) | 2015.05.29 |
MyBatis / iBatis에서 조건절에 Like 검색 시 처리하는 방법 (0) | 2015.01.30 |
크롬에서 파일 다운로드시 중복헤더 수신이라 나오는 경우 (0) | 2014.10.08 |