您的位置:首页 > 理论基础 > 计算机网络

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

2016-11-09 15:10 190 查看

使用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字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络编程 java 网络