1. package com.qiyi;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.io.PrintWriter;
  7. import java.net.URL;
  8. import java.net.URLConnection;
  9. import java.util.List;
  10. import java.util.Map;
  11.  
  12. import java.io.ByteArrayOutputStream;
  13. import java.io.IOException;
  14. import java.io.InputStream;
  15. import java.io.OutputStream;
  16. import java.net.HttpURLConnection;
  17. import java.net.URL;
  18. import java.io.File;
  19. import java.io.IOException;
  20. import java.io.File;
  21. import java.io.FileInputStream;
  22. import java.io.FileNotFoundException;
  23. import java.io.FileOutputStream;
  24. import java.io.IOException;
  25.  
  26. public class HttpRequest {
  27. /**
  28. * 从网络Url中下载文件
  29. * @param urlStr
  30. * @param fileName
  31. * @param savePath
  32. * @throws IOException
  33. */
  34. public static void downLoadFromUrl(String urlStr,String fileName,String savePath,String toekn) throws IOException{
  35. URL url = new URL(urlStr);
  36. HttpURLConnection conn = (HttpURLConnection)url.openConnection();
  37. //设置超时间为3秒
  38. conn.setConnectTimeout(3*1000);
  39. //防止屏蔽程序抓取而返回403错误
  40. conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
  41. conn.setRequestProperty("lfwywxqyh_token",toekn);
  42.  
  43. //得到输入流
  44. InputStream inputStream = conn.getInputStream();
  45. //获取自己数组
  46. byte[] getData = readInputStream(inputStream);
  47.  
  48. //文件保存位置
  49. File saveDir = new File(savePath);
  50. if(!saveDir.exists()){
  51. saveDir.mkdir();
  52. }
  53. File file = new File(saveDir+File.separator+fileName);
  54. FileOutputStream fos = new FileOutputStream(file);
  55. fos.write(getData);
  56. if(fos!=null){
  57. fos.close();
  58. }
  59. if(inputStream!=null){
  60. inputStream.close();
  61. }
  62.  
  63. System.out.println("info:"+url+" download success");
  64.  
  65. }
  66.  
  67. /**
  68. * 从输入流中获取字节数组
  69. * @param inputStream
  70. * @return
  71. * @throws IOException
  72. */
  73. public static byte[] readInputStream(InputStream inputStream) throws IOException {
  74. byte[] buffer = new byte[1024];
  75. int len = 0;
  76. ByteArrayOutputStream bos = new ByteArrayOutputStream();
  77. while((len = inputStream.read(buffer)) != -1) {
  78. bos.write(buffer, 0, len);
  79. }
  80. bos.close();
  81. return bos.toByteArray();
  82. }
  83.  
  84. }
  1. package com.qiyi;
  2.  
  3. import java.io.IOException;
  4.  
  5. public class Main {
  6.  
  7. public static void main(String[] args) throws IOException {
  8. // write your code here
  9.  
  10. ;
  11. //String url="http://127.0.0.1:9001/abc/notice/export?startDate=2017-1-27&endDate=2017-12-31";
  12.  
  13. String token="v32Eo2Tw+qWI/eiKW3D8ye7l19mf1NngRLushO6CumLMHIO1aryun0/Y3N3YQCv/TqzaO/TFHw4=";
  14. // String token="SiGBCH6QblUHs7NiouV09rL6uAA3Sv0cGicaSxJiC/78DoWIMzVbW6VCwwkymYsZaxndDkYqkm4=";
  15. HttpRequest.downLoadFromUrl(url,"abc.xls","D:\\",token);
  16. System.out.println("下载完成");
  17.  
  18. }
  19. }

java通过http方式下载文件的更多相关文章

  1. 呵呵哒,LNMP下通过fread方式下载文件时,中文名称文件找不到文件

    哎,整整折腾一个下午. 本来好好的,thinkphp 自动的uniq方式保存的文件名,非要使用原文件名,真心蛋疼~~ 然后就只好写个脚本 把原来的所有文件都重新命名一下 - - 然后把数据库对应字段也 ...

  2. ajax方式下载文件

    在web项目中需要下载文件,由于传递的参数比较多(通过参数在服务器端动态下载指定文件),所以希望使用post方式传递参数.通常,在web前端需要下载文件,都是通过指定<a>标签的href属 ...

  3. Http方式下载文件

    代码: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System ...

  4. C# Http方式下载文件到本地类改进版

    在上文基础上增加了远程文件是否存在和本地文件是否存在的判断. 类代码: using System; using System.Collections.Generic; using System.Lin ...

  5. C# Http方式下载文件到本地类

    直接上代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...

  6. java中多种方式读文件

    转自:http://www.jb51.net/article/16396.htm java中多种方式读文件 一.多种方式读文件内容. 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内 ...

  7. C# Http方式下载文件到本地

    下文代码是从网络(http://www.cnblogs.com/hayden/archive/2012/04/26/2472815.html)得来,亲测好用.我中修改了下格式和注释,版权属于原作者“舒 ...

  8. Java Sftp上传下载文件

    需要使用jar包  jsch-0.1.50.jar sftp上传下载实现类 package com.bstek.transit.sftp; import java.io.File; import ja ...

  9. java中如何设置下载文件

    如果想要设置某一url为下载文件的方法如下 需要设置文件响应类型,使用response.setContentType,比如jpeg格式的图片.如果想要访问该页面时出现下载保存的窗口,使用respons ...

随机推荐

  1. C# Settings.settings的用处

    1.定义 在Settings.settings文件中定义配置字段.把作用范围定义为:User则运行时可更改,Applicatiion则运行时不可更改.可以使用数据网格视图,很方便: 2.读取配置值 t ...

  2. NOJ——聊天止于呵呵(string流重定向+map,水题)

    [1645] 聊天止于呵呵 时间限制: 5000 ms 内存限制: 65535 K 问题描述 (现代版)俗话说:流言止于智者,聊天止于呵呵.输入一段聊天记录,你的任务是数一数有 多少段对话“止于呵呵” ...

  3. [luoguP2762] 太空飞行计划问题(最大权闭合图—最小割—最大流)

    传送门 如果将每一个实验和其所对的仪器连一条有向边,那么原图就是一个dag图(有向无环) 每一个点都有一个点权,实验为收益(正数),仪器为花费(负数). 那么接下来可以引出闭合图的概念了. 闭合图是原 ...

  4. iOS-Http : GET : POST

    一.概述 * HTTP/1.1协议共定义了8中请求方法:OPTIONS, HEAD, GET, POST, PUT, DELETE, TRACE, CONNECT. * GET方法和POST是我们使用 ...

  5. P1473 校门外的树3

    时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述  校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的……如今学校决定在某个时刻在某一段种上一 ...

  6. 【CF666B】World Tour(贪心,最短路)

    题意:给你一张有向图,叫你给出四个点的序列a,b,c,d,使得这四个点依次间的最短路之和最大.(4 ≤ n ≤ 3000, 3 ≤ m ≤ 5000) 思路:O(n4)可用来对拍 我们需要O(n2)级 ...

  7. 【MFC】设置窗口焦点

    BOOL CTMSDlg::OnInitDialog() { ...... ...... //设置窗口焦点,注意return TRUE 改成 return FALSE GetDlgItem(IDC_E ...

  8. 转 Perl函数返回值用法指导

    http://developer.51cto.com/art/201007/213003.htm Perl函数返回值用法指导   Perl编程语言中Perl函数返回值用法你是否比较熟悉,这里向大家简单 ...

  9. 观察者模式在MVP中的应用

    先简单写下观察者模式.观察者模式,又叫做发布-订阅模式.观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时,会通知所有观察者对象,是他们能够自动 ...

  10. AC日记——三连击 洛谷 P1008

    题目背景 本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序. 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2: ...