This example show you how to convert a raw IP address, an array of byte
, returned by InetAddress.getAddress()
method call to its string representation.
package org.kodejava.net;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class RawIPToString {
public static void main(String[] args) {
byte[] ip = new byte[0];
try {
InetAddress address = InetAddress.getLocalHost();
ip = address.getAddress();
} catch (UnknownHostException e) {
e.printStackTrace();
}
String ipAddress = RawIPToString.getIpAddress(ip);
System.out.println("IP Address = " + ipAddress);
try {
InetAddress address = InetAddress.getByName("google.com");
ip = address.getAddress();
} catch (UnknownHostException e) {
e.printStackTrace();
}
ipAddress = RawIPToString.getIpAddress(ip);
System.out.println("IP Address = " + ipAddress);
}
/**
* Convert raw IP address to string.
*
* @param rawBytes raw IP address.
* @return a string representation of the raw ip address.
*/
private static String getIpAddress(byte[] rawBytes) {
int i = 4;
StringBuilder ipAddress = new StringBuilder();
for (byte raw : rawBytes) {
ipAddress.append(raw & 0xFF);
if (--i > 0) {
ipAddress.append(".");
}
}
return ipAddress.toString();
}
}
This example will print something like:
IP Address = 30.30.30.60
IP Address = 142.251.10.113
Latest posts by Wayan (see all)
- How do I create a string of repeated characters? - September 1, 2023
- How do I convert datetime string with optional part to a date object? - August 28, 2023
- How do I split large excel file into multiple smaller files? - April 15, 2023