1. /**
  2. * 从网络Url中下载文件
  3. * @param urlStr 指定的url
  4. * @param fileName 下载文件到本地的名字
  5. * @param savePath 本地保存下载文件的路径
  6. * @throws IOException
  7. */
  8. public static void downLoadFromUrl(String urlStr,String fileName,String savePath) throws IOException{
  9. URL url = new URL(urlStr);
  10. HttpURLConnection conn = (HttpURLConnection)url.openConnection();
  11. //设置超时间为3秒
  12. //conn.setConnectTimeout(3*1000);
  13. //防止屏蔽程序抓取而返回403错误
  14. //conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
  15.  
  16. //得到输入流
  17. InputStream inputStream = conn.getInputStream();
  18. //获取自己数组
  19. byte[] getData = readInputStream(inputStream);
  20.  
  21. //文件保存位置
  22. File saveDir = new File(savePath);
  23. if(!saveDir.exists()){
  24. saveDir.mkdir();
  25. }
  26. File file = new File(saveDir+File.separator+fileName);
  27. FileOutputStream fos = new FileOutputStream(file);
  28. fos.write(getData);
  29. if(fos!=null){
  30. fos.close();
  31. }
  32. if(inputStream!=null){
  33. inputStream.close();
  34. }
  35.  
  36. System.out.println("info:"+url+" download success");
  37.  
  38. }
  39.  
  40. /**
  41. * 从输入流中获取字节数组
  42. * @param inputStream
  43. * @return
  44. * @throws IOException
  45. */
  46. public static byte[] readInputStream(InputStream inputStream) throws IOException {
  47. byte[] buffer = new byte[1024];
  48. int len = 0;
  49. ByteArrayOutputStream bos = new ByteArrayOutputStream();
  50. while((len = inputStream.read(buffer)) != -1) {
  51. bos.write(buffer, 0, len);
  52. }
  53. bos.close();
  54. return bos.toByteArray();
  55. }
  56.  
  57.   //main函数测试
  58.   public static void main(String[] args) throws IOException {
  59.  
  60. downLoadFromUrl("http://baidu.pdf","lq.pdf","d:/file/");
  61. //System.out.println(111);
  62.  
  63. }

通过指定的 url 去网络或者文件服务器下载文件到本地某个文件夹的更多相关文章

  1. 前后台交互实现点击超链接通过指定的 url 去网络或者文件服务器下载文件

    前台 VUE 界面: <el-table-column prop="attachment" align="center" label="附件详情 ...

  2. Java 网络编程(三) 创建和使用URL访问网络上的资源

    链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951877.html 创建和使用URL访问网络上的资源 URL(Uniform Reso ...

  3. 爪哇国新游记之二十八----从url指定的地址下载文件到本地

    package download; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; ...

  4. wget---从指定的URL下载文件

    wget命令用来从指定的URL下载文件.wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕.如果是服务器打断下 ...

  5. java 网络编程基础 InetAddress类;URLDecoder和URLEncoder;URL和URLConnection;多线程下载文件示例

    什么是IPV4,什么是IPV6: IPv4使用32个二进制位在网络上创建单个唯一地址.IPv4地址由四个数字表示,用点分隔.每个数字都是十进制(以10为基底)表示的八位二进制(以2为基底)数字,例如: ...

  6. 从指定的URL下载文件

    通过使用URLDownLoadToFile函数,我们能从指定的URL下载文件,保存到本地,并且下载的文件类型可以是可执行文件 实例如下,http://www.xuexic.com 的根目录下存在一个l ...

  7. springboot之Filter指定过滤URL的常见问题

    在使用Filter对一些自己指定的URL进行过滤拦截时,经常会出现如下错误: 1. 明明在@WebFilter(urlPatterns={"/app/online"})中过滤的是/ ...

  8. Hbuilder MUI里面使用java.net.URL发送网络请求,操作cookie

    1. 引入所需网络请求类: var URL = plus.android.importClass("java.net.URL"); var URLConnection = plus ...

  9. Helium文档12-WebUI自动化-go_to在当前的Web浏览器窗口中打开指定的URL

    前言 go_to在当前的Web浏览器窗口中打开指定的URL 入参介绍 url def go_to(url): """ :param url: URL to open. : ...

随机推荐

  1. 数据库的ds命令

    Mysqi      数据库: 理一下数据库的格式: mysqi 关系型数据库,(表的概念) node.js 非关系性数据库  (json) 结构:数据库存放多张表,每个表可以存放多个字段,每个字段可 ...

  2. Scrapy实战篇(八)之Scrapy对接selenium爬取京东商城商品数据

    本篇目标:我们以爬取京东商城商品数据为例,展示Scrapy框架对接selenium爬取京东商城商品数据. 背景: 京东商城页面为js动态加载页面,直接使用request请求,无法得到我们想要的商品数据 ...

  3. C/S模型服务端vsftpd的安装与卸载

    c/s模型 连接光驱DVD 设置环境(软件安装的环境) mkdir /mnt/yw----------------------(创建一个在mnt下yw目录) mount /dev.sr0 /mnt/y ...

  4. ROS routeros mikrotik路由器CVE-2018-14847漏洞

    原文: https://securitynews.sonicwall.com/xmlpost/massive-cryptojacking-campaign/ SonicWall is observin ...

  5. optparse模块解析命令行参数的说明及优化

    一.关于解析命令行参数的方法 关于“解析命令行参数”的方法我们一般都会用到sys.argv跟optparse模块.关于sys.argv,网上有一篇非常优秀的博客已经介绍的很详细了,大家可以去这里参考: ...

  6. Fibonacci数列的两种实现方式

    斐波那契数列的形式为:1,1,2,3,5,8,13,21......从第三项开始,后面的每一项都是前面两项的和. 实现的方式有一下 两种: 一:递归方式实现 def fib(n): if n < ...

  7. asp.net mvc 5 单元测试小例子

    using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTest ...

  8. HTTP协议的简单解析

    超文本传输协议(HTTP,HyperText Transfer Protocol)是用于从服务器传输超文本到本地浏览器的传输协议,是应用最为广泛的网络协议.B/S网络架构的核心是HTTP,掌握HTTP ...

  9. Intorduction To Computer Vision

    本文将主要介绍图像分类问题,即给定一张图片,我们来给这张图片打一个标签,标签来自于预先设定的集合,比如{people,cat,dog...}等,这是CV的核心问题,图像分类在实际应用中也有许多变形,而 ...

  10. flask连接数据库mysql+SQLAlchemy

    使用flask框架链接2种数据库 ----------db.py # -*- coding: utf-8 -*- # Flask hello world from flask import Flask ...