`

用java下载1个网页

    博客分类:
  • java
阅读更多

参考了开源软件code。在自己机器上测试通过。

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;

public class CopyHtm {
  public static void main(String[] args) throws Exception {
    String sourceUrlString = "sample/some.html";
    String currentDir=System.getProperty("user.dir").replace('\\', '/');
    download("file:///" +currentDir+"/"+sourceUrlString, "tmp");
  }
  final static int TRANSFER_SIZE = 4096;
  public static void download(String link, String dest) {
    File file;
    URL source;
    byte[] data;
    InputStream in;
    FileOutputStream out;
    int read;
    String fname = dest+"/"+genFileName(link);
    File ddest = new File(dest);
    if (!ddest.exists()) {
      ddest.mkdirs();
    }
    
    file = new File(fname);
    if(file.exists()){
      return;
    }
    try {
      source = new URL(link);
      data = new byte[TRANSFER_SIZE];
      try {
        in = source.openStream();
        try {
          out = new FileOutputStream(file);
          try {
            while (-1 != (read = in.read(data, 0, data.length))) {
              out.write(data, 0, read);
            }
          }catch(Exception e){
            System.err.println("broken link=" + link);
          }finally {
            out.close();
          }
        } catch (FileNotFoundException fnfe) {
          fnfe.printStackTrace();
        } finally {
          in.close();
        }
      } catch (FileNotFoundException fnfe) {
        System.err.println("broken link " + fnfe.getMessage() + " ignored");
      }
    } catch (MalformedURLException murle) {
      murle.printStackTrace();
    } catch (IOException ioe) {
      ioe.printStackTrace();
    }
  }

  public static String genFileNameExt(String url, String ext) {
    return genFileNameNoExt(url) + "." + ext;
  }

  public static String genFileNameNoExt(String url) {
    int ilast = url.lastIndexOf("/");
    String fname = url.substring(ilast);
    int didx = fname.lastIndexOf('.');
    if (didx > 0) {
      fname = fname.substring(0, didx);//+"."+ext;
    }
    return fname;
  }

  public static String genFileName(String url) {
    return genFileNameExt(url, "html");
  }
}

 

九霄云外
九霄云外

  • 大小: 32.4 KB
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Java自动下载网页

    通过以上知识点的结合应用,我们可以编写一个Java程序,根据`info.txt`中的URL列表下载网页,并按照`name.txt`指定的名称保存到本地。在实际项目中,还可能需要添加错误处理、进度显示、断点续传等功能,以提升用户...

    用java代码下载网页图片

    根据给定的文件信息,我们可以总结出以下与“用Java代码下载网页图片”相关的知识点: ### 1. Java网络编程基础 #### 1.1 URL类的理解与使用 在Java中,`java.net.URL` 类提供了对统一资源定位符 (Uniform ...

    现实网页下载java源代码

    在IT行业中,网页下载是一个常见的需求,特别是在自动化测试、数据抓取或备份网站内容时。本项目提供的"现实网页下载java源代码"旨在帮助开发者实现这一功能。Java作为一种多用途的编程语言,提供了多种方法来下载...

    使用java快速判断网页链接是否有效

    本文将详细介绍如何使用Java语言来实现一个简单的工具方法,用于快速判断一个网页链接是否有效。 #### 一、方法原理 本方法通过`java.net.URL`类创建一个URL对象,并使用`java.net.HttpURLConnection`类打开与该...

    Java编写的网页浏览器

    【Java编写的网页浏览器】是一种基于Java编程语言开发的简单网页浏览应用,主要面向初学者和进行课程设计的学生。这个项目旨在提供一个基础的平台,让学习者了解浏览器的基本工作原理,以及如何利用Java实现这样的...

    Java下载图片代码+教程

    ### Java下载图片代码+教程 #### 一、背景与需求 在互联网开发中,经常会遇到需要从网络上下载图片的需求。比如,在爬虫项目中抓取网页中的图片资源,或者在构建图片分享应用时需要从远程服务器下载图片显示在...

    java网页下载的四种不同实现

    下面是一个使用`HttpURLConnection`下载网页的例子: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class ...

    java 程序设计网页浏览器

    以上是构建一个简易Java网页浏览器涉及的主要技术点,每个点都需要深入理解和实践。实际开发中,还可以考虑添加更多高级功能,如页面预加载、多标签页、下载管理等,以增强浏览器的功能和用户体验。

    纯Java实现整个网页截图项目源代码

    在本项目中,"纯Java实现整个网页截图项目源代码" 是一个利用Java编程语言来实现的实用程序,它能够捕获整个网页的图像并将其保存为图片文件。这个项目的核心在于利用DJNativeSwing组件,这是一个开源的Java库,它...

    java源码包---java 源码 大量 实例

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

    用JAVA实现远程图片批量下载

    1. **构造Robot类**:定义一个Robot类来封装整个下载逻辑,包括管理待处理的URL列表、已处理的URL列表以及已下载的图片URL列表。此外,Robot类还需要包含开始搜索的入口URL和本地保存路径。 - **urlWaiting**:存储...

    java实现将网上页面下载到本地

    在Java中下载网页或文件是一项基础但重要的任务,掌握这一技能有助于进行更复杂的网络编程项目,如爬虫、文件同步等。以上步骤提供了实现这一功能的基本框架,实际开发时还需根据具体需求进行相应的优化和错误处理。

    java访问https网址下载文件

    在Java编程中,访问HTTPS网址并下载文件是一个常见的任务,特别是在网络应用开发中。HTTPS(HyperText Transfer Protocol Secure)是一种安全通信协议,用于确保数据在客户端和服务器之间的传输过程是加密的,保护了...

    ajax实现java文件下载

    1. **前端**:在JSP文件中,使用JavaScript创建一个Ajax请求,设置请求方法(GET或POST)、URL(指向FileAction)、数据(如文件扩展名)以及成功和失败回调函数。 2. **后端**:FileAction接收到请求后,解析请求...

    java网页 html

    HTML(HyperText Markup Language)是一种标记语言,用于描述网页的结构和内容,而Java则是一种广泛使用的编程语言,尤其在服务器端和网页应用程序中扮演着核心角色。 Java网页通常指的是使用Java Servlet、JSP...

    java将网页保存成mht格式程序

    1. **资源下载与MIME类型识别**:对于每个资源链接,使用`URLConnection`获取资源,同时使用`MimetypesFileTypeMap`确定资源的MIME类型。 2. **MIME多部分消息构建**:创建`MimeMultipart`实例,并为每个资源创建`...

    Java网页特效大全

    Java网页特效大全是一个集合了众多视觉效果的资源库,它主要展示了如何利用Java技术来增强网页的交互性和视觉吸引力。这个资源可能包含了JavaScript库、Java Applets或者使用JavaFX等技术实现的网页组件。Java在网页...

    Java源代码根据URL获取因特网网页源文件.rar

    这个RAR文件包含的"说明.txt"可能是详细的操作指南,而"根据URL获取因特网网页源文件"可能是一个Java源代码示例,用于演示如何实现这一功能。以下是对这个主题的详细讲解: 1. **网络编程基础**: 在Java中,进行...

    java获取百度网盘真实下载链接的方法

    在Java中,可以使用`java.net.HttpURLConnection`类来实现这一功能。`HttpRequest`类中的`getData`方法就是一个简单的HTTP GET请求示例,它创建了一个`URL`对象,然后通过`openConnection()`方法打开与该URL的连接,...

    基于java开发的网页浏览器

    Java是一种广泛使用的编程语言,以其跨平台性和丰富的类库闻名,尤其在开发桌面应用程序和Web应用方面具有强大的能力。基于Java开发的网页浏览器是利用Java的Swing或JavaFX库来构建用户界面,并通过Java的网络功能来...

Global site tag (gtag.js) - Google Analytics