Java教程-Java URLConnection 类

Java URLConnection 类
Java URLConnection 类表示URL和应用程序之间的通信链接。它可以用于读取和写入由URL引用的指定资源。
什么是URL?
- URL 是统一资源定位符的缩写。URL 是一种字符串形式,用于在万维网(WWW)上查找资源。
- URL 由两个组成部分组成:
- 访问资源所需的协议。
- 资源的位置。
URLConnection 类的特点
- URLConnection 是一个抽象类。两个子类 HttpURLConnection 和 JarURLConnection 用于在客户端 Java 程序和互联网上的 URL 资源之间建立连接。
- 使用 URLConnection 类,用户可以读取和写入由 URL 对象引用的任何资源。
- 一旦建立连接并且 Java 程序拥有一个 URLConnection 对象,我们可以使用它来读取、写入或获取其他信息,如内容长度等。
构造方法
Constructor | Description |
---|---|
1) protected URLConnection(URL url) | 它构造到指定 URL 的 URL 连接。 |
URLConnection 类的方法
Method | Description |
---|---|
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);}
}
}