一、InetAddress类

标识网络上的硬件资源

package com.homework;

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays; //获取InetAddress类
public class TestInetAddress { public static void main(String[] args) throws UnknownHostException {
//获取本机的InetAddress实例
//InetAddress address=new InetAddress(); InetAddress类无法通过new来创建对象
InetAddress address=InetAddress.getLocalHost();
System.out.println(address);//获取本机的计算机名和IP地址
System.out.println("计算机名: "+address.getHostName());
System.out.println("IP地址: "+address.getHostAddress()); byte[] bytes=address.getAddress();
System.out.println("字节形式的IP: "+bytes);
System.out.println("字节数组形式的IP: "+Arrays.toString(bytes)); //根据机器名获取InetAddress实例
//InetAddress address2=InetAddress.getByName("MS-20150617TVTE");
InetAddress address2=InetAddress.getByName("192.168.0.176");
System.out.println("计算机名: "+address2.getHostName());
System.out.println("IP地址: "+address2.getHostAddress());
} }

结果

MS-20150717TVTE/192.168.0.176
计算机名: MS-20150617TVTE
IP地址: 192.168.0.176
字节形式的IP: [B@7852e922
字节数组形式的IP: [-64, -88, 0, -83]
计算机名: MS-20150617TVTE
IP地址: 192.168.0.176

二、URL(Uniform Resource Locator) :统一资源定位符

参数:protocol - 要使用的协议名称  host - 主机名称   port - 主机端口号   file - 主机上的文件   ref - URL 中的内部引用

package com.homework;

import java.net.MalformedURLException;
import java.net.URL; public class TestURL_01 {
public static void main(String[] args) {
try {
//创建一个URL实例
URL blogGarden=new URL("https://home.cnblogs.com");
        //根据已存在的url实例创建新的实例
//?后面表示参数,#后面表示锚点
URL url=new URL(blogGarden,"/index.html?username=tom#test");
System.out.println("协议: "+url.getProtocol());
System.out.println("主机: "+url.getHost());
//如果未指定端口号,则使用默认的端口号,此时getPort()方法返回值为-1
System.out.println("端口: "+url.getPort());
System.out.println("文件路径: "+url.getPath());
System.out.println("文件名: "+url.getFile());
System.out.println("相对路径: "+url.getRef());
System.out.println("查询字符串: "+url.getQuery()); } catch (MalformedURLException e) {
e.printStackTrace();
} }
}

结果:

协议:  https
主机: home.cnblogs.com
端口: -1
文件路径: /index.html
文件名: /index.html?username=tom
相对路径: test
查询字符串: username=tom

三、通过URL读取网页上的内容

     

package com.homework;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL; //通过URL读取网页上的内容
public class TestURL_02 {
public static void main(String[] args) {
try {
//创建一个url实例
URL url=new URL("http://www.baidu.com");
//通过URL的openStream方法获取URL对象所表示的资源的字节输入流
InputStream is=url.openStream();
//将其转换为字符输入流
InputStreamReader isr=new InputStreamReader(is,"utf-8");
//为字符流添加缓冲
BufferedReader br=new BufferedReader(isr);
String data=br.readLine();//读取数据 while(data!=null){//循环读取数据
System.out.println(data); //输出数据
data=br.readLine();
}
br.close();
isr.close();
is.close(); } catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} } }

结果:百度页面的编码

<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge>
<meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css>
<title>百度一下,你就知道</title></head> <body········································· ·····················</body>

Java中网络相关API的应用——InetAddress&URL的更多相关文章

  1. 【Socket编程】Java中网络相关API的应用

    Java中网络相关API的应用 一.InetAddress类 InetAddress类用于标识网络上的硬件资源,表示互联网协议(IP)地址. InetAddress类没有构造方法,所以不能直接new出 ...

  2. Java中网络编程

    以下内容引用自http://wiki.jikexueyuan.com/project/java/networking.html: 术语网络编程指编写跨多种设备(电脑)执行的,设备使用一个网络互相连接的 ...

  3. Java中日期时间API小结

    Java中为处理日期和时间提供了大量的API,确实有把一件简单的事情搞复杂的嫌疑,各种类:Date Time Timestamp Calendar...,但是如果能够看到时间处理的本质就可以轻松hol ...

  4. HBase篇--HBase操作Api和Java操作Hbase相关Api

    一.前述. Hbase shell启动命令窗口,然后再Hbase shell中对应的api命令如下. 二.说明 Hbase shell中删除键是空格+Ctrl键. 三.代码 1.封装所有的API pa ...

  5. java 中 集合类相关问题

    1,Java中Collection和Collections的差别 java.util.Collection 是一个集合接口.它提供了对集合对象进行基本操作的通用接口方法. Collection接口在J ...

  6. Java中路径相关的获取方式

    [参考文章]:Java文件路径(getResource) [参考文章]:关于java:如何获取正在运行的JAR文件的路径? [参考文章]:关于Class.getResource和ClassLoader ...

  7. JAVA中HashMap相关知识的总结(一)

    Java中HashMap在jdk1.7和jdk1.8中的区别点: 在jdk1.7中是用数组+链表形式存储,1.8采用数组+链表/红黑树形式 Jdk1.8中由链表转为红黑树是长度大于8,由红黑树转为链表 ...

  8. java中Object相关的几个方法

    protected Object clone()创建并返回此对象的一个副本. String     toString()返回该对象的字符串表示. boolean equals(Object obj)指 ...

  9. Java中定时器相关实现的介绍与对比之:Timer和TimerTask

    Timer和TimerTask JDK自带,具体的定时任务由TimerTask指定,定时任务的执行调度由Timer设定.Timer和TimerTask均在包java.util里实现. 本文基于java ...

随机推荐

  1. Log4j按级别输出日志到不同文件配置分析

    关于LOG4J 按照级别输出日志,并按照级别输出到不同文件中的说法有很多, 网上贴的最多的log4j.properties的设置是这样的 log4j.rootLogger=info,stdout,in ...

  2. Glusterfs初试

    Gluster的模式及介绍在此不表,这里只记录安装及配置过程. 1.整体环境 server1 : gfs1.cluster.com server2 : gfs2.cluster.com Client: ...

  3. 机器学习算法之旅A Tour of Machine Learning Algorithms

    In this post we take a tour of the most popular machine learning algorithms. It is useful to tour th ...

  4. Jquery Mobile实例--利用优酷JSON接口读取视频数据

    本文将介绍,如何利用JqueryMobile调用优酷API JSON接口显示视频数据. (1)注册用户接口. 首页,到 http://open.youku.com 注册一个账户,并通过验证.然后找到A ...

  5. 【BZOJ】【3503】【CQOI2014】和谐矩阵

    高斯消元解Xor方程组 Orz ZYF o(︶︿︶)o 唉我的数学太烂了…… 错误思路:对每个格点进行标号,然后根据某5个异或和为0列方程组,高斯消元找自由元……(目测N^3会TLE) ZYF的正确思 ...

  6. JTS(Geometry)(转)

    原文链接:http://blog.csdn.net/cdl2008sky/article/details/7268577 空间数据模型(1).JTS Geometry model (2).ISO Ge ...

  7. pymysql模块用法

    python关于mysql的API--pymysql模块 pymsql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. 模块安装 1 pip install pymy ...

  8. (转)看懂UML类图和时序图

    从一个示例开始 请看以下这个类图,类之间的关系是我们需要关注的: 车的类图结构为<<abstract>>,表示车是一个抽象类: 它有两个继承类:小汽车和自行车:它们之间的关系为 ...

  9. 10个步骤让你成为高效的Web开发者

    要成为高产.高效的Web开发者,这需要我们做很多工作,来提高我们的工作方式,以及改善我们的劳动成果. 下面是10个提高效率的步骤,虽然不能保证解决你在开发中的所有问题,但至少是非常实用的,可以简化你的 ...

  10. 时间插件WdatePicker使用方法

    只需要引入js文件即可: <script src="WdatePicker/WdatePicker.js"></script> 自己试了个小实例: < ...