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

导读:本篇文章讲解 Java网络编程——IP、URL编程,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前言

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实例,而是通过静态方法来获取,这些方法可能会产生例外(异常)。
在这里插入图片描述

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("数据读取完毕");
	}

}

代码如下(输出):

数据读取完毕

获取效果展示(没有运行之前)
在这里插入图片描述
获取效果展示(运行之后)
在这里插入图片描述

总结

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/5098.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!