java网络编程之一URL编程!

本文探讨了Java中的URL(统一资源定位符)编程,解释了URL在网络编程中的作用,特别是作为互联网资源的标识。文章重点介绍了URLConnection类及其方法,包括openConnection()方法的使用,该方法根据不同类型的URL返回不同的URLConnection子类,如HttpURLConnection或JarURLConnection。此外,还提及了URLConnection的其他相关方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java网络编程之一URL编程!

URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被俗称为网页地址。表示为互联网上的资源,如网页或者FTP地址。

package com.willow.net;
​
import org.junit.Test;
​
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
​
//URL:统一资源定位符,一个URL的对象,对应着互联网上一个资源   ,我们可以通过URL的对象调用器相应的方法,将此资源读取下载
public class TestURL {
    @Test
    public void url(){
        try {
            URL url =new URL("https://www.baidu.com/");
            url.getProtocol() ;
            System.out.println("获取该URL的协议名:"+url.getProtocol());
            System.out.println("获取该URL的主机名:"+url.getHost());
            System.out.println("获取该URL的端口号,如果没有设置端口,返回-1:"+url.getPort());
​
            System.out.println("获取该URL的文件名,如果没有返回空串:"+url.getFile());
            System.out.println("获取该URL中记录的引用,如果URL不含引用,返回null:"+url.getRef());
            System.out.println("获取该URL的查询信息:"+url.getQuery());
​
            System.out.println("获取该URL的路径:"+url.getPath());
            System.out.println("获取该URL的权限信息:"+url.getAuthority());
            System.out.println("获得使用者的信息:"+url.getUserInfo());
​
            //方法openStream()与指定的URL建立连接并返回InputStream类的对象以从这一连接中读取数据
            InputStream inputStream = url.openStream();
            byte [] bytes=new byte[200];
            int len;
            while((len=inputStream.read(bytes))!=-1){
                String str=new String(bytes,0,len);
                System.out.println("###"+str);
            }
            inputStream.close();
​
            //利用URLConnection实现双向通信  ,即可输入,也可输出
            URLConnection content = url.openConnection();
            InputStream inputStream1 = content.getInputStream();
            //读取数据输出到 本地abc.txt中
            OutputStream outputStream=new FileOutputStream(new File("abc.txt"));
            byte[] bytess=new byte[500];
            int length;
            while((length=inputStream1.read(bytess))!=-1){
                outputStream.write(bytess,0,length);
            }
            outputStream.close();
            inputStream1.close();
​
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

 

 

 

序号方法描述
1public URL(String protocol, String host, int port, String file) throws MalformedURLException. 通过给定的参数(协议、主机名、端口号、文件名)创建URL。
2public URL(String protocol, String host, String file) throws MalformedURLException 使用指定的协议、主机名、文件名创建URL,端口使用协议的默认端口。
3public URL(String url) throws MalformedURLException 通过给定的URL字符串创建URL
4public URL(URL context, String url) throws MalformedURLException 使用基地址和相对URL创建

URL类部分方法

方法说明
String getPotocol()获取该URL的协议名
String getHost()获取该URL的主机名
Int getPort()获取该URL的端口号,如果没有设置端口,返回-1
String getFile()获取该URL的文件名,如果没有返回空串
String getRef()获取该URL中记录的引用,如果URL不含引用,返回null
String getQuery()获取该URL的查询信息
String getPath()获取该URL的路径
String getAuthority()获取该URL的权限信息
String getUserInfo()获得使用者的信息

URLConnections 类方法

openConnection() 返回一个 java.net.URLConnection。

例如:

  • 如果你连接HTTP协议的URL, openConnection() 方法返回 HttpURLConnection 对象。

  • 如果你连接的URL为一个 JAR 文件, openConnection() 方法将返回 JarURLConnection 对象。

  • 等等...

URLConnection 方法列表如下:

序号方法描述
1Object getContent() 检索URL链接内容
2Object getContent(Class[] classes) 检索URL链接内容
3String getContentEncoding() 返回头部 content-encoding 字段值。
4int getContentLength() 返回头部 content-length字段值
5String getContentType() 返回头部 content-type 字段值
6int getLastModified() 返回头部 last-modified 字段值。
7long getExpiration() 返回头部 expires 字段值。
8long getIfModifiedSince() 返回对象的 ifModifiedSince 字段值。
9public void setDoInput(boolean input) URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输入,则将 DoInput 标志设置为 true;如果不打算使用,则设置为 false。默认值为 true。
10public void setDoOutput(boolean output) URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输出,则将 DoOutput 标志设置为 true;如果不打算使用,则设置为 false。默认值为 false。
11public InputStream getInputStream() throws IOException 返回URL的输入流,用于读取资源
12public OutputStream getOutputStream() throws IOException 返回URL的输出流, 用于写入资源。
13public URL getURL() 返回 URLConnection 对象连接的URL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值