当前位置: 首页 > news >正文

江苏联运建设有限公司网站如何建立公司网站网页

江苏联运建设有限公司网站,如何建立公司网站网页,自己做挖矿网站,网站建设初期Internet当中有着无数的标准和规范,其中IETF(因特网工程任务组)中的RFC就达到几千个http://ietfreport.isoc.org/rfc/PDF/,包括http协议,uri等等。最近学习时常常看到参考书上提到各种RFC,每次下载实在有些…

Internet当中有着无数的标准和规范,其中IETF(因特网工程任务组)中的RFC就达到几千个http://ietfreport.isoc.org/rfc/PDF/,包括http协议,uri等等。最近学习时常常看到参考书上提到各种RFC,每次下载实在有些麻烦,正好在学习相关内容,于是就写了个程序将官网上六千多个pdf文档下载下来。在这里跟大家分享。


整体思路:

首先从RFC列表的页面(http://ietfreport.isoc.org/rfc/PDF/)中解析出各个RFC文件的名称(这其中用到了正则表达式),存放在一个String数组中。
然后遍历整个数组,在遍历的过程当中,用apache的common.io包中的FileUtils.copyURLtoFile()方法(关于common io项目,请参考官网,具体地址在文章末尾)从网上下载pdf并保存到RFC目录下。

代码中也许还有许多优化的地方,欢迎各位指正。

源代码

整个程序源码如下:

import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;import org.apache.commons.io.FileUtils;/*** Downloads RFCs* * @author bingduanLin* */
public class DownloadPdfs {/*** @param args*/public static void main(String[] args) {String url = "http://ietfreport.isoc.org/rfc/PDF";String[] list = readList(url);System.out.println("开始下载,请耐心等待");for (String u : list) {String source = url + "/" + u;String des = "RFC" + File.separator + u;downloadAndSave(source, des);}System.out.println("恭喜你,全部下载成功!");}/*** 从网页中读取文件名列表* * @param urlString* @return*/public static String[] readList(String urlString) {String[] lists = new String[6734];try {URL url = new URL(urlString);Scanner scanner = new Scanner(url.openStream());int i = 0;int up = 6960; // 226while (scanner.hasNextLine() && i < up) {String line = scanner.nextLine();if (i >= 226) {lists[i - 226] = dealString(line);}i++;}scanner.close();} catch (MalformedURLException e) {System.out.println("URL格式出错,请检查");e.printStackTrace();} catch (IOException e) {e.printStackTrace();}System.out.println(lists[0]);System.out.println(lists[6733]);return lists;}/*** 从网页的<li>元素中提取文件名* * @param source*            待处理的<li>元素* @return 处理后的文件名*/public static String dealString(String source) {String string = source;String result = string;String patterString = ">\\s.+.pdf";Pattern pattern = Pattern.compile(patterString);Matcher macher = pattern.matcher(string);while (macher.find()) {int start = macher.start();int end = macher.end();result = string.substring(start, end);}result = result.substring(2, result.length());return result;}/*** @param source*            the url of PDF to be downloaded* @param destination*            the destination to be saved*/public static void downloadAndSave(String source, String destination) {try {URL url = new URL(source); // "http://ietfreport.isoc.org/rfc/PDF/rfc1341.pdf");File file = new File(destination); // "rfc1341.pdf");FileUtils.copyURLToFile(url, file);System.out.println(source + "下载完成");} catch (MalformedURLException e) {System.out.println("URL格式出错,请检查");e.printStackTrace();} catch (IOException e) {System.out.println("I/O 错误");e.printStackTrace();}}}



说明:


下载几千个文件需要花个几分钟,程序中不少地方都是硬编码,欢迎各位给出优化方案。

如果IETF网站中的页面发生变化,需要修改代码方可运行。

参考资料:

1. StackOverFlow中的几个讨论:

http://stackoverflow.com/questions/921262/how-to-download-and-save-a-file-from-internet-using-java

http://stackoverflow.com/questions/1378238/downloaded-pdf-with-java-is-corrupt

2. Apache Common IO :
http://commons.apache.org/io/download_io.cgi


原创作品,转载请务必注明出处。
http://www.lbrq.cn/news/2442151.html

相关文章:

  • 展示网站欣赏站长统计app网站
  • 济南网站制作工具舆情信息在哪里找
  • 织梦app网站模板重大新闻事件2023
  • 石家庄网推公司做网络优化的公司排名
  • 佛山自己网站建设百度竞价推广怎么做
  • 深圳网站建设推进yandex搜索入口
  • 网站做后怎么可以在百度搜索到北京seo排名厂家
  • 信息技术做网站网络广告文案
  • 潮州网站建设微信朋友圈广告如何投放
  • pp视频在线观看免费大全下载seo工程师是什么职业
  • 建筑公司网站背景图域名注册网站
  • 网站地图提交入口百度网站怎么提升排名
  • 网站风格包括哪些免费隐私网站推广
  • 一流的网站建设案例合肥百度关键词推广
  • 成人用品网站优化方法semester什么意思
  • seo优化 div css_网站架构优化如何在百度上添加店铺的位置
  • 天津品牌网站建设公司seo基础知识包括什么
  • 自己创建网站怎么得流量钱建站系统软件有哪些
  • 网站建设找哪些平台凡科网站官网
  • 做网站后台要学信阳seo优化
  • 前端工程师是做网站吗百度公司推广
  • 已有网站做移动网站媒体网络推广价格优惠
  • 有关建设的新闻网站搜索引擎优化的完整过程
  • 网站优化流程图公司推广文案
  • 公家网站模板网络营销的特点有
  • 哪些网站不扣流量如何注册网站怎么注册
  • 东莞微信网站建设nba最新交易新闻
  • 外贸客户开发系统国外seo
  • 女包建设网站前的市场分析搜索引擎bing
  • 在线装修设计网站什么软件可以推广
  • LeetCode 239:滑动窗口最大值
  • 2025中国GEO优化白皮书:AI搜索优化趋势+行业数据报告
  • bmp280的压力数据采集(i2c设备驱动+设备树编写)
  • VTK交互——ImageRegion
  • Kafka MQ 消费者应用场景
  • 【C#补全计划:类和对象(七)—— 重写虚方法】