开发者

how to get a byte[] representation from a IP in String form in Java

开发者 https://www.devze.com 2023-01-02 17:06 出处:网络
Suppose I have the IP stored in a String: String ip = \"192.168.2.1\"开发者_开发技巧 and I want to get the byte array with the four ints.

Suppose I have the IP stored in a String:

String ip = "192.168.2.1"

开发者_开发技巧

and I want to get the byte array with the four ints. How can I do it? Thanks!


Something like this:

InetAddress ip = InetAddress.getByName("192.168.2.1");
byte[] bytes = ip.getAddress();
for (byte b : bytes) {
    System.out.println(b & 0xFF);
}


Each number is a byte, so in your case the appropriate byte[] would be { 192, 168, 2, 1 }.

To be more specific, if you have the string, you first have to split it by the "."s and then parse a byte from each resulting string.


This works well for me (Kotlin):

    open fun reachable(host: String?): Boolean { // 'host' is string, e.g., "177.111.155.11"
    return try {
        val ipAddress = InetAddress.getByName(host)  // get IP address
        ipAddress.isReachable(2000)         // Is it reachable? T or F
    } catch (e: IOException) {
        CoroutineScope(Main).launch {
            myNote("MyWX LAN Reachable Error", e.message!!) // Display error
        }
        false
    }
}
0

精彩评论

暂无评论...
验证码 换一张
取 消