网络编程——URL编程

URL:是统一资源定位器的简称,它表示Internet某一资源的地址。通过URL我们可以访问Internet上的各种网络资源,比如最常见的www,ftp站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。

组成:URL的基本结构由5部分组成。

<传输协议>://<主机名>:<端口号>/<文件名>#<引用>

http://www.tomcat.com:80/Gamelan/network.htm#BOTTOM

协议名://机器名+端口号+文件名+内部引用

为了表示URL,java.net包中实现了类URL。

构造方法

① URL(String url)

//url代表一个绝对地址,URL对象直接指向这个资源,如:

URL url=new URL(http://www.baidu.com);

② URL(URL baseURL,String relativeURL)

//其中,baseURL代表绝对地址,relativeURL代表相对地址,如:

URL url=new URL(http://www.baidu.com);

URL lib=new URL(url,”library/library.htm”);

③ URL(String protocol,String host,String file)

//其中,protocol代表通信协议,host代表主机名,file代表文件名,如:

new URL(“http”,www.baidu.com,”/test/test.htm”);

④ URL(String protocol,String host,int port,String file)

URL lib = new URL(“http”,www.baidu.com,80,”/test/test.htm”);

 

获取URL对象的属性

① getFile():获得URL指定资源的完整文件名。

② getHost():返回主机名。

③ getPath():返回指定资源的文件目录和文件名。

④ getPort():返回端口号。

⑤ getProtocol():返回表示URL中协议的字符串对象。

⑥ getRef():返回URL中的HTML文档标记,即#号标记。

⑦ getUserInfo():返回用户信息。

URL有两种方法可以用来访问Interent上资源。

① 使用URL的openConnection()方法创建一个URLConnection类的对象。再通过URLConnection对象获取相应的输入/输出流。

② 利用URL类的openStream()方法。openStream()方法与指定的URL建立连接并返回InputStream类的对象。

示例:下载url文件到指定目录

下载方法:

 1 class DownLoadUtil {
 2     public static void download(String urlString, String fileName,
 3             String savePath) throws IOException {
 4         URL url = new URL(urlString);
 5         //方法一
 6         // URLConnection conn = url.openConnection();
 7         // InputStream is = conn.getInputStream();
 8
 9         //方法二
10         InputStream is = url.openStream();
11
12         byte[] buff = new byte[1024];
13         int len = 0;
14         File file = new File(savePath);
15         if (!file.exists()) {
16             file.mkdirs();
17         }
18         OutputStream os = new FileOutputStream(file.getAbsolutePath() + "\\"
19                 + fileName);
20         while ((len = is.read(buff)) != -1) {
21             os.write(buff, 0, len);
22         }
23         // 释放资源
24         os.close();
25         is.close();
26     }
27 }

主方法:

1         try {
2             DownLoadUtil
3                     .download(
4                             "http://images.sohu.com/saf/a2016/0511/wKiDRFcy-16AHkkXAABH52NJX18606.jpg",
5                             "my.jpg", "d:/ceshi");
6         } catch (IOException e) {
7             e.printStackTrace();
8         }
时间: 2024-10-10 18:17:51

网络编程——URL编程的相关文章

JAVA 网络编程 URL编程

摘自b站尚硅谷JAVA视频教程 原文地址:https://www.cnblogs.com/superxuezhazha/p/12344636.html

【vc】14_网络编程_socket编程

1.计算机网络基本知识 最简单的网络程序如图: 提示:IP地址就相当于一个公司的总机号码,端口号就相当于分机号码.在打电话时,拨通总机后,还需要转到分机上. (1)协议 ·为进行网络中的数据交换(通信)而建立的规则.标准或约定(=语义+语法+规则): ·不同层具有各自不同的协议: (2)网路的状况 ·多种通信媒介---有线.无线··· ·不同种类的设备---通用.专用··· ·不同的操作系统---UNIX.Windows··· ·不同的应用环境---固定.移动··· ·不同的业务种类---分时.

NetBios网络基础及编程

开始学习(算是复习)网络编程了,第一个就是局域网的netbios协议编程. 首先了解一下什么是netbios:IBM公司为PC-Network开发的一套网络标准.,NetBIOS最广泛的应用之一就是对NetBIOS用户扩展接口(NetBEUI,NetBIOS Extend User Interface)协议的使用.处在表示层与会话层之间,处于参考模型的高层. 优点:短小精练; 良好的网络通信性能; 适合于适时性较高的小型LAN网络环境; 缺点:是一种不可路由的协议:数据包无法跨网段传输. Net

网络分流器-网络分流器-多核编程的几个难题及其应对策略

网络分流器-网络分流器-多核编程的几个难题及其应对策略! 戎腾网络: 随着多核CPU的出世,多核编程方面的问题将摆上了程序员的日程,有许多老的程序员以为早就有多CPU的机器,业界在多CPU机器上的编程已经积累了很多经验,多核CPU上的编程应该差不多,只要借鉴以前的多任务编程.并行编程和并行算法方面的经验就足够了. 我想说的是,像涉及到网络分流器采集器功能的多核处理板业内统称为业务处理板,而多核机器和以前的多CPU机器有很大的不同,以前的多CPU机器都是用在特定领域,比如服务器,或者一些可以进行大

第五章 网络与并发编程

第五章 网络与并发编程 1.网络编程 1.1 网络编程定义 基于多台机器之间的通信需要基于网络编程 1.2 web程序的架构 C/S架构:client(客户端)/server(服务端) 所有需要安装的.exe文件都属于客户端 B/S架构:breowser(浏览器)/server(服务端) 所有能被网页访问的网络都是B/S架构 C/S和B/S之间的关系:所有的B/S架构都需要一个浏览器才能访问,浏览器是一个软件,相当于客户端,多有的B/S架构也都是C/S架构的,浏览器(breowser)是特殊的客

代写MATLAB编程- MATLAB编程代写Design a pushdown automata (PDA)

Design a pushdown automata (PDA)1.Consider the language of all binary strings that start and end with the same symbol. (a) Write the production rules of a grammar for this language. Show some derivations to test that your grammar is correct. (b) Desi

全新编程模式---站立编程--独创编程方式,可能会流行

多年来我们程序员已经习惯了编程模式--坐着编程 一来到编程办公室,我们马上坐下,打开空调,松软的旋转座椅,坐下来就可以编程.于是人们只知道世界上只有这种编程模式--坐着编程. 这个模式不是不好,可是如果坚持只用这个编程模式,会带来严重问题,坐久了屁股痛,最后没办法坐了.于是只能躺着编程. 坐着编程,身体缺少运动,每况愈下,身体不堪负重,垮了.生成各种疾病,最后竟然有的程序员英年死去,没办法编程了! 我编程十几年,曾经也是运动健将,但是因为坐着编程,身体也不行了,坐下没多久屁股就痛了.现在是左右为

Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php

Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php 1. RFC2396标准 including HTML 4.01 section 17.13.4, and also RFC 1866 (which is supercededby the W3C HTML recommendations). 在form的ContextType是[x-www-form-urlencoded]的时候会对form中的键/值对进行编码,空格被转义成+,

CUDA C编程入门-编程模型

这章节介绍CUDA编程模型的主要的概念. 2.1.kernels(核函数) CUDA C扩展了C语言,允许程序员定义C函数,称为kernels(核函数).并行地在N个CUDA线程中执行N次. 使用__global__说明符声明一个核函数,调用使用<<<...>>>,并且指定执行的CUDA线程数目.执行的每个线程都有一个独一的ID,在核函数中可以通过变量threadIdx获取. 例子,两个向量的加,A加B,并把结果存入C,A.B和C的长度为N. __global__ vo