Java URLConnection 类

Java URLConnection 类表示URL和应用程序之间的通信链接。它可以用于读取和写入由URL引用的指定资源。

什么是URL?

  • URL 是统一资源定位符的缩写。URL 是一种字符串形式,用于在万维网(WWW)上查找资源。
  • URL 由两个组成部分组成:
  1. 访问资源所需的协议。
  2. 资源的位置。

URLConnection 类的特点

  1. URLConnection 是一个抽象类。两个子类 HttpURLConnection 和 JarURLConnection 用于在客户端 Java 程序和互联网上的 URL 资源之间建立连接。
  2. 使用 URLConnection 类,用户可以读取和写入由 URL 对象引用的任何资源。
  3. 一旦建立连接并且 Java 程序拥有一个 URLConnection 对象,我们可以使用它来读取、写入或获取其他信息,如内容长度等。

构造方法

ConstructorDescription
1) protected URLConnection(URL url)它构造到指定 URL 的 URL 连接。

URLConnection 类的方法

MethodDescription
void addRequestProperty(String key, String value)它添加了一个由键值对指定的通用请求属性
void connect()如果尚未建立这样的连接,它会打开到此 URL 引用的资源的通信链接。
boolean getAllowUserInteraction()它返回对象的 allowUserInteraction 字段的值。
int getConnectionTimeout()它返回连接超时设置。
Object getContent()它检索 URL 连接的内容。
Object getContent(Class[] classes)它检索 URL 连接的内容。
String getContentEncoding()它返回内容编码标头字段的值。
int getContentLength()它返回内容长度标头字段的值。
long getContentLengthLong()它返回 content-length 标头字段的值。
String getContentType()它返回日期标题字段的值。
long getDate()它返回日期标题字段的值。
static boolean getDefaultAllowUserInteraction()它返回 allowUserInteraction 字段的默认值。
boolean getDefaultUseCaches()它返回 URLConnetion 的 useCaches 标志的默认值。
boolean getDoInput()它返回 URLConnection 的 doInput 标志的值。
boolean getDoInput()它返回 URLConnection 的 doOutput 标志的值。
long getExpiration()它返回过期头文件的值。
static FileNameMap getFilenameMap()它从数据文件加载文件名映射。
String getHeaderField(int n)它返回第 n个头字段的值
String getHeaderField(String name)它返回命名头字段的值
long getHeaderFieldDate(String name, long Default)它返回解析为数字的命名字段的值。
int getHeaderFieldInt(String name, int Default)它返回解析为数字的命名字段的值。
String getHeaderFieldKey(int n)它返回第 n个标头字段的键。
long getHeaderFieldLong(String name, long Default)它返回解析为数字的命名字段的值。
Map<String, List<String>> getHeaderFields()它返回标头字段的不可修改的 Map。
long getIfModifiedSince()它返回对象的 ifModifiedSince 字段的值。
InputStream getInputStream()它返回一个从打开条件读取的输入流。
long getLastModified()它返回最后修改的头字段的值。
OutputStream getOutputStream()它返回一个写入连接的输出流。
Permission getPermission()它返回一个权限对象,表示建立由对象表示的连接所需的权限。
int getReadTimeout()它返回读取超时的设置。
Map<String, List<String>> getRequestProperties()它返回连接的命名通用请求属性的值。
URL getURL()它返回 URLConnection 的 URL 字段的值。
boolean getUseCaches()它返回 URLConnection 的 useCaches 字段的值。
Static String guessContentTypeFromName(String fname)它尝试根据URL 的指定文件组件来确定对象的内容类型。
static String guessContentTypeFromStream(InputStream is)它尝试根据输入流开头的字符来确定输入流的类型。
void setAllowUserInteraction(boolean allowuserinteraction)它设置此 URLConnection 的 allowUserInteraction 字段的值。
static void setContentHandlerFactory(ContentHandlerFactory fac)它设置应用程序的 ContentHandlerFactory。
static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)它将所有未来 URLConnection 对象的 allowUserInteraction 字段的默认值设置为指定值。
void steDafaultUseCaches(boolean defaultusecaches)它将 useCaches 字段的默认值设置为指定值。
void setDoInput(boolean doinput)它将此 URLConnection 的 doInput 字段的值设置为指定值。
void setDoOutput(boolean dooutput)它将 URLConnection 的 doOutput 字段的值设置为指定值。

如何获取 URLConnection 类的对象

URL 类的 openConnection() 方法返回 URLConnection 类的对象。

语法:

public URLConnection openConnection()throws IOException{}    

通过 URLConnecton 类显示网页的源代码

URLConnection 类提供了许多方法。我们可以使用 getInputStream() 方法显示网页的所有数据。它返回指定 URL 的流中的所有数据,可以读取和显示。

Java URLConnection 类的示例

import java.io.*;    
import java.net.*;    
public class URLConnectionExample {    
public static void main(String[] args){    
try{    
URL url=new URL("http://www.javatpoint.com/java-tutorial");    
URLConnection urlcon=url.openConnection();    
InputStream stream=urlcon.getInputStream();    
int i;    
while((i=stream.read())!=-1){    
System.out.print((char)i);    
}    
}catch(Exception e){System.out.println(e);}    
}    
}    

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想