`

用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中保存要下载网页的完整路径,name.txt保存存储名称。

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

    使用java快速判断网页链接是否有效代码,大家可以看看

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

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

    大名鼎鼎的 java2s 静态网页打包下载

    大名鼎鼎的 java2s 静态网页打包下载 我只是知识的搬运工,版权归属原作者。 是全面学习java不可多得的素材,代码复制粘贴都可运行。 网友给的评论 这个网站非常好,分成三大类,分别是Example、Products、 ...

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

    使用java将百度的首页或其他网上资源页面文件,mp3,音乐下载到本地桌面或任何路径

    java源码包4

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

    java同步(一个网页)

    这是一个网页,关于JAVA同步的,最近在清盘,一些东西就放着上边了,没有积分的话可以向kukudetengteng@gmail.com这个邮箱索要。(请注明所要的具体内容)

    网页资源分类下载工具java版

    要使用java开发工具打开,功能网页资源分类下载工具.值得一试哦

    JAVA上百实例源码以及开源项目

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

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

    java源码包实例源码JAVA开发源码55个合集.zip

    Java写的一个mp3播放器.rar Java写的图片幻灯片切换特效.rar Java写的天气预报软件.rar Java写的巨型LCD液晶时钟显示屏.rar JAVA图书馆管理系统源码.rar Java图像文件的缩小与放大.rar Java学生信息管理系统源码包....

    JAVA爬虫批量下载网页文件

    该爬虫代码可将一个多页面含有多条文件的下载地址截取到,然后将下载地址放到linux系统里在控制台输入一条命令就可以进行批量下载(还可以直接调用浏览器的接口直接下载,这个可以自行修改),代码有注释具体目的...

    Java开发技术大全(500个源代码).

    HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...

    新闻网页内容抽取java版

    java实现新闻网页内容抽取,具体算法参考“基于统计的新闻网页内容抽取”

    JAVA 根据url将打开的网页以图片的格式保存起来,绝对可以用

    我用一个类将url打开的网页保存成图片格式的功能包装好了 只要下载 修改相应的url等就可以实现 主要函数 reload String url String picname String jsname public static void implcmd String cmd 只要将包导入...

    Java源码包100个设计实例.zip

    java 一个消息发布网站.rar Java 数字签名、数字证书生成源码.rar Java 版的酒店系统,貌似完整.rar Java 电梯模拟程序 v2.0.rar Java 组播组中发送和接受数据实例 Java 飞机订票.rar Java 高考信息管理系统 SQL...

    java抓取网页数据

    非常好的一个java版本的网络爬虫,下载直接可以运行。可以后台登陆然后再抓取。值得大家研究。

    java上传下载所需jar包及代码示例

    这是一份用java语言在网页上开发上传下载的示例代码以及所需要的两个Jar包。

    java源码包3

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

    java源码包2

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

Global site tag (gtag.js) - Google Analytics