Java网络编程_基本网络支持(一)

使用InetAddress

Java提供了InetAddress类来代表IP地址,InetAddress下还有两个子类:Inet4Address、Inet6Address,它们分别代表Internet Protocol version4(IPv4)地址和Internet Protocol version6(IPv6)。

InetAddress类没有提供构造器,而是提供了如下两个静态方法来获取InetAddress实例:

方法
getByName(String host)根据主机获取对应的InetAddress对象
getByAdderss(byte[] addr)根据原始IP地址来获取对应的InetAddress对象

InetAddress还提供了如下三个方法来获取InetAddress实例对应的IP地址和主机名:

方法
String getCanonicalHostName()获取此IP地址的全限定域名
String getHostAddress()返回该InetAddress实例对应的IP地址字符串(以字符串形式)
String getHostName()获取此IP地址的主机名

除此之外,InetAddress类还提供了一个getLocalHost()方法来获取本机IP地址对应的InetAddress实例。提供了一个isReachable()方法,用于测试是否可以到达该地值。

测试InetAddress类的代码:

public class InetAddressTest {

    public static void main(String[] args)throws Exception{
        //根据主机名来获取对应的InetAddress实例
        InetAddress ip = InetAddress.getByName("www.baidu.com");
        //判断是否可到达
        System.out.println("baidu是否可达:" + ip.isReachable(2000));
        //获取该InetAddress实例的Ip字符串
        System.out.println(ip.getHostAddress() + " " + ip.getHostName());
        //根据原始IP地址来获取对应的InetAddress实例
        InetAddress local = InetAddress.getByAddress(new byte[]{127,0,0,1});
        System.out.println("本机是否可达:" + local.isReachable(5000));
        //获取该InetAddress实例对应的全限定域名
        System.out.println(local.getCanonicalHostName());
    }
}

结果:

baidu是否可达:true
220.181.111.188 www.baidu.com
本机是否可达:true
127.0.0.1

使用URLDecoder和URLEncoder

URLDecoder和URLEncoder用于完成普通字符串和application/x-www-form-urlencoded MIME字符串。

方法
decode(String s, String enc)URLDecoder类所包含,可以将application/x-www-form-urlencoded MIME字符串转换为普通字符串
encode(String s, String enc)URLEncoder类所包含,可以将普通字符串转换为application/x-www-form-urlencoded MIME字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值