Java网络编程——IP、URL编程

文章目录

  • 前言
  • 一、Java网络编程基础概述
  • 二、Java网络API
  • 三、IP编程
    • 1.InetAddress
    • 2.InetAddress示例(代码示例)
  • 四、应用层(URL)编程
    • 1.URL编程
    • 2.构造URL对象
    • 3.获取各个参数
    • 4.获取URL指向的资源(图片)
      • 4.1获取URL指向的资源(图片)思路
      • 4.2获取URL指向的资源(图片)代码实现
  • 总结

前言

Java学习真是一环扣一环,学完IO流以后就想着接下来是什么呢,一看Java基础学习计划是——Java网络编程基础,针对这一部分知识点比较多,以免大家出现视觉疲劳,我会写成小系列的博客。

一、Java网络编程基础概述

Java网络编程其实就是实现局域网或互联网之间的数据通信。

二、Java网络API

Java中网络API在java.net包中定义

面向IP层的类 InetAddress
面向应用层的类 URL、URLConnection
TCP协议相关类 Socket、ServerSocket
UDP协议相关类 DatagramSocket、DatagramPacket、MulticastSocket
可能产生的例外 Exception

三、IP编程

InetAddress提供网络资源的抽象表示,提供了一系列方法来描述、获取及使用网络资源

1.InetAddress

InetAddress不能使用new来构造InetAddress实例,而是通过静态方法来获取,这些方法可能会产生例外(异常)。
Java网络编程——IP、URL编程_第1张图片

2.InetAddress示例(代码示例)

代码如下(示例):

import java.net.InetAddress;

public class Test01 {
	public static void main(String[] args) throws Exception {// 抛出异常
		InetAddress inetAddress = InetAddress.getLocalHost();// InetAddress提供网络资源的抽象表示获取本地主机信息
		String hostName = inetAddress.getHostName(); // 获取本地主机名
		String hostAddress = inetAddress.getHostAddress(); // 获取本地主机IP
		System.out.println(hostAddress);
		System.out.println(hostName);
		InetAddress inetAddress2 = InetAddress.getByName("本地主机的名字");// 依据主机的名字得到相应的InetAddress当然这个地方也可以依据IP获得
		String hostAddress2 = inetAddress2.getHostAddress(); // 依据InetAddress获取主机IP
		String hostName2 = inetAddress2.getHostName();// 依据InetAddress获取主机名
		System.out.println(hostAddress2);
		System.out.println(hostName2);
	}
}

四、应用层(URL)编程

URL是统一资源定位符的简称,它表示internet上某一资源地址。

1.URL编程

Java程序通过URL可以访问Internet,浏览器或者其他程序通过解析给定的URL就可以在网络上查找相应资源。

2.构造URL对象

URL url = new URL("https://img-home.csdnimg.cn:8554/images/20210226094215.jpg");

3.获取各个参数

代码如下(测试):

import java.net.URL;

public class Test02 {

	public static void main(String[] args) throws Exception {
		URL url = new URL("https://img-home.csdnimg.cn:8554/images/20210226094215.jpg");
		System.out.println(url.getProtocol()); //获取该URL协议名
		System.out.println(url.getHost());     //获取该URL主机名
		System.out.println(url.getPort());     //获取该URL端口号
	}
}

代码如下(输出):

https
img-home.csdnimg.cn
8554

4.获取URL指向的资源(图片)

4.1获取URL指向的资源(图片)思路

通过openStream()方法读取一个URL所指定的资源,再建立连接并返回InputStream就可读取资源,再使用OutputStream将读取的资源保存如硬盘

4.2获取URL指向的资源(图片)代码实现

代码如下(测试):

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;

public class Test03 {

	public static void main(String[] args) throws Exception {
		URL url = new URL("https://img-home.csdnimg.cn/images/20210226094215.jpg"); //创建URL对象
		InputStream openStream = url.openStream(); //通过openStream()方法读取一个URL所指定的资源
		OutputStream outputStream = new FileOutputStream("D:"+File.separator+"2015.jpg");// 保存下来的地址
		int ch = 0;
		while((ch = openStream.read())!=-1) {// 读取
			outputStream.write(ch);//写出
		}
		openStream.close();
		outputStream.flush();//刷新(只要涉及到"流"建议在关闭之前刷新一下)
		outputStream.close();
		System.out.println("数据读取完毕");
	}

}

代码如下(输出):

数据读取完毕

获取效果展示(没有运行之前)
Java网络编程——IP、URL编程_第2张图片
获取效果展示(运行之后)
Java网络编程——IP、URL编程_第3张图片

总结

IP测试输出我就不展示了,其实在学完这个就感觉有了一点爬虫的影子了

你可能感兴趣的:(Java学习日记,java,网络,面试)