`

URLConnection ,获取互联网资源

    博客分类:
  • j2se
阅读更多

  这段代码将向你介绍几个比较常见但需要注意的问题:

         1,尽量使用本地配置资源,比如 System.getProperty("line.separator") 代替手工输入 “\r\n”,以此解决跨平台问题(Windows、Mac等)。

         2,如何利用程序读取互联网上的文本资源,以及注意其文本编码(Encoding,这是本文的要点)。

         3,使用 StringBuilder 而不是“String 相加”获取一个较大的变长文本,这主要影响程序性能,而不是功能。

    功能极其有限,但对于初学者肯定有其碰壁之处,使用该包装好的类,可使用如下方式获取互联网文本资源:

        WebClient wc = new WebClient();
        String s = wc.getContent("http://localhost:8088/index.jsp", "utf-8", null);
        System.out.println(s);

    如下是 WebClient 类的源码:

package queen.net;

import java.net.URL;
import java.net.URLConnection;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class WebClient{
    
    private static String _newLine = System.getProperty("line.separator");
    
    public WebClient(){
    }
    
    public String getContent(String url, String oriEncoding, String targetEncoding) throws IOException{
        URL u = new URL(url);
        URLConnection uc = u.openConnection();
        BufferedReader in;
        if(oriEncoding == null || oriEncoding.length() == 0){
            in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
        }
        else{
            in = new BufferedReader(new InputStreamReader(uc.getInputStream(), oriEncoding)); 
        }
        String line;
        StringBuilder sb = new StringBuilder();
        while((line = in.readLine()) != null){
            sb.append(line);
            sb.append(_newLine);
        }
        if(targetEncoding == null || targetEncoding.length() == 0){
            return sb.toString();
        }
        return new String(sb.toString().getBytes(), targetEncoding);
    }
        
}
分享到:
评论

相关推荐

    使用URL和URLConnection(多线程下载)

    在现代互联网应用中,高效的数据传输和资源下载成为了提升用户体验的关键因素之一。对于大型文件的下载,传统的单线程下载方式往往无法充分利用网络带宽,尤其是在高延迟或不稳定网络环境下,下载效率会大打折扣。...

    URL以及URLConnection的使用

    在Java编程语言中,URL(Uniform Resource Locator)和URLConnection是两个关键的概念,它们在处理网络资源的访问和交互中起到核心作用。本文将深入探讨URL的构造与解析、URLConnection的功能和使用方法,以及如何...

    java中URL以及URLConnection类的使用

    URL类用于表示和获取网络资源的详细信息,而URLConnection类则用于建立与资源的连接以及数据传输。掌握这两个类的使用,是进行Java网络编程的基础。在实际开发中,它们可以帮助开发者访问和处理互联网上的各种资源。

    JDK中的URLConnection参数详解

    Java JDK 中的 `URLConnection` 是一个非常重要的网络通信接口,它是`java.net.URL`类的主要功能接口,用于打开和管理到互联网对象的连接。在本文中,我们将深入探讨`URLConnection`的一些关键特性和参数,特别是在...

    Java图形界面获取网页的源代码

    在本例中,可能使用`getInputStream()`方法从URLConnection获取一个InputStream,然后通过读取流中的数据来获取网页源码。 5. **字符编码处理**: 网页的源码通常是UTF-8或其他字符编码格式。在读取时,需要确保正确...

    WebService URLConnection request/response JDK1.3

    在JDK1.3及更高版本中,Java提供了URLConnection类,这是一个核心的类,用于与URL(统一资源定位符)指定的网络资源进行交互。本篇文章将深入探讨如何使用URLConnection实现WebService请求和响应。 首先,我们了解...

    例10.03 使用URLConnection对象访问远程文件.rar_remote access java_url_远程文件

    在Java编程中,远程文件访问是一项重要的功能,它允许程序从互联网上的服务器获取或上传数据。本主题将深入探讨如何使用`URLConnection`类来实现这一目标。`URLConnection`是Java API的一部分,它提供了连接到任意...

    Java 必知必会的 URL 和 URLConnection使用

    首先,URL是统一资源定位符,它是互联网上资源的唯一地址,通常包括协议类型(如http或https)、主机名、端口号以及资源路径等信息。在Java中,`java.net.URL`类封装了这些信息,并提供了访问和解析URL的方法。例如...

    java根据网址获取源码

    1. **URL (Uniform Resource Locator)**:统一资源定位符,用来唯一标识互联网上的资源。 2. **HTTP (Hypertext Transfer Protocol)**:超文本传输协议,用于从Web服务器传输超文本到本地浏览器的传输协议。 3. **...

    一个简单的获取URL 数据方法,附文档代码

    在现代互联网应用开发中,获取远程服务器上的数据是一项基本且重要的任务。本文将详细介绍一种简单有效的方式:通过Java语言编写一个类来获取指定URL的数据,并对该方法进行深入解析。 #### 一、背景介绍 在实际...

    Android使用URL读取网络资源的方法

    URL(Uniform Resource Locator)是统一资源定位器,它是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。 在 Android 中,URL 类提供了多个构造器用于创建 URL 对象,...

    4第四章知识点整理2

    URL(统一资源定位符)是互联网资源的唯一标识,可以用来获取网络上的信息。创建URL对象有两种方式: 1. 使用构造函数`public URL(String spec)`,直接传入完整的URL字符串,例如`http://www.yushuai.me/`。 2. 使用...

    URL的三种获取内容的方式 java

    当我们需要从互联网上获取数据时,通常有三种主要的方法来获取URL所指向的内容。下面将详细介绍这些方法及其应用。 1. 使用`getContent()`方法: `getContent()`方法是`java.net.URL`类的一个成员,它可以直接尝试...

    Java源码根据URL获取因特网上的音频.rar

    总结起来,使用Java获取因特网上的音频涉及网络编程、I/O流和音频处理API,通过`URL`和`URLConnection`获取网络资源,再用`javax.sound.sampled`包处理音频数据。在实际开发中,我们需要根据具体需求进行适当的优化...

    JAVA100例之实例49 获取URL文本

    首先,Java提供了`java.net.URL`类来代表一个统一资源定位符(Uniform Resource Locator),它是互联网上的资源的地址。通过创建URL对象,我们可以获取到与该URL相关的各种信息,如协议、主机名、路径等。 ```java ...

    计算机与软件学院 JAVA实验报告 6

    这个实验的目标是让学生熟悉并掌握URL类的使用,理解网络编程的基本概念,并能通过URL类和URLConnection类获取网络资源。 1. **网络编程基础**: - 网络编程是计算机通过网络进行通信的过程,涉及到数据传输、错误...

    Android 获取网络时间

    - **URL**: 代表互联网上的资源地址。 - **URLConnection**: 代表与URL之间的连接,可以从中获取输入流或输出流。 #### 三、代码解析 下面逐行分析提供的代码片段: ```java private class NetTimeLoader extends...

    java网络编程资源

    2. **URL和URLConnection**:Java中的`java.net.URL`类用于表示统一资源定位符,而`java.net.URLConnection`则用于打开与URL所指向的资源的连接。这两个类可以用于获取网页内容、下载文件等操作。 3. **多线程在...

    一个简单的javase网络资源下载器

    1. **URL和URLConnection**: 在Java中,`java.net.URL`类代表统一资源定位符,它是访问互联网资源的入口。`URLConnection`是所有URL连接的抽象基类,提供了打开到URL指定的网络对象的连接的方法。通过`open...

    java-swing-通过ip获取网站信息(网页抓取)

    例如,`URL`类可以帮助我们解析和访问互联网资源,而`URLConnection`则可以用来建立与服务器的连接并读取响应。 1. **创建URL对象**: - 首先,我们需要将IP地址转换为URL对象。例如,`new URL(...

Global site tag (gtag.js) - Google Analytics