1.基本实现流程

当我们想要下载网站上的某个资源时,我们会获取一个url,它是服务器定位资源的一个描述,下载的过程有如下几步:

(1)客户端发起一个url请求,获取连接对象。

(2)服务器解析url,并且将指定的资源返回一个输入流给客户。

(3)建立存储的目录以及保存的文件名。

(4)输出了写数据。

(5)关闭输入流和输出流。

2.实现代码的方法

/*** @功能 下载临时素材接口* @param filePath 文件将要保存的目录* @param method 请求方法,包括POST和GET* @param url 请求的路径* @return*/public static File saveUrlAs(String url,String filePath,String method){//System.out.println("fileName---->"+filePath);//创建不同的文件夹目录File file=new File(filePath);//判断文件夹是否存在if (!file.exists()){//如果文件夹不存在,则创建新的的文件夹file.mkdirs();}FileOutputStream fileOut = null;HttpURLConnection conn = null;InputStream inputStream = null;try{// 建立链接URL httpUrl=new URL(url);conn=(HttpURLConnection) httpUrl.openConnection();//以Post方式提交表单,默认get方式conn.setRequestMethod(method);conn.setDoInput(true);  conn.setDoOutput(true);// post方式不能使用缓存 conn.setUseCaches(false);//连接指定的资源 conn.connect();//获取网络输入流inputStream=conn.getInputStream();BufferedInputStream bis = new BufferedInputStream(inputStream);//判断文件的保存路径后面是否以/结尾if (!filePath.endsWith("/")) {filePath += "/";}//写入到文件(注意文件保存路径的后面一定要加上文件的名称)fileOut = new FileOutputStream(filePath+"123.png");BufferedOutputStream bos = new BufferedOutputStream(fileOut);byte[] buf = new byte[4096];int length = bis.read(buf);//保存文件while(length != -1){bos.write(buf, 0, length);length = bis.read(buf);}bos.close();bis.close();conn.disconnect();} catch (Exception e){e.printStackTrace();System.out.println("抛出异常!!");}return file;}

3.代码测试类(主函数)

/*** @param args*/public static void main(String[] args){String photoUrl = "https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png";                                    String fileName = photoUrl.substring(photoUrl.lastIndexOf("/")); //System.out.println("fileName---->"+fileName);String filePath = "d:";  File file = saveUrlAs(photoUrl, filePath + fileName,"GET");  System.out.println("Run ok!/n<BR>Get URL file " + file);  }

java 从服务器下载文件并保存到本地相关推荐

  1. java 服务器 文件写入文件_java 从服务器下载文件并保存到本地

    昨天在做一个项目时,用到了从服务器上下载文件并保存到本地的知识,以前也没有接触过,昨天搞了一天,这个小功能实现了,下面就简单的说一下实现过程: 1.基础知识 当我们想要下载网站上的某个资源时,我们会获 ...

  2. vue中下载文件导出保存到本地

    vue中下载文件导出保存到本地 先分析如何下载:先有一个链接地址,然后使用 location.href或window.open()下载到本地 看看返回数据 res.config.url 中是下载链接地 ...

  3. Java 从服务器下载文件到本地

    运行main方法即可运行... package com.Manage.control;import java.io.BufferedReader; import java.io.DataInputSt ...

  4. cocos creator 安卓原生平台环境_cocos creator原生平台下载文件并保存到本地

    网上没有找到相关的文章,写下来自己记一下 直接上代码:downFile2Local:function(url, fileName, callback){ var fullPath = jsb.file ...

  5. CentOS6中连接ftp服务器下载文件时出现了java.net.SocketException: Connection reset

    问题描述:连接CentOS6中的ftp服务器下载文件时出现了java.net.SocketException: Connection reset 解决办法: 1.查看防火墙状态,发现防火墙已开启 se ...

  6. Java Web实现 使用浏览器从服务器下载文件

    Java Web实现 使用浏览器从服务器下载文件. 代码实现: package com.juneyaoair.util;import lombok.SneakyThrows;import javax. ...

  7. Java从指定URL下载文件并保存到指定目录

    转自(留做笔记):https://www.cnblogs.com/henuyuxiang/p/11608936.html 1.基本流程 当我们想要下载网站上的某个资源时,我们会获取一个url,它是服务 ...

  8. java ftp获取文件夹大小,java 用FTPClient 下载文件时不显示总大小?解决方案

    java 用FTPClient 下载文件时不显示总大小? FTPClient ftp = new FTPClient(); ftp.setControlEncoding("utf-8&quo ...

  9. Java实现FTP下载文件到客户端(浏览器)

    目录 一.简介 二.maven依赖 三.配置类 四.工具类 4.1.服务器文件名中文处理 4.2.下载文件名中文处理 五.接口验证 一.简介   我在之前的文章(Java实现文件上传和下载)里讲过非F ...

  10. 如何登陆FTP服务器下载文件

    如何登陆FTP服务器下载文件 在网上我们经常可以看到很多如何搭建FTP服务器的经验,但是却缺少详细的如何登陆FTP服务器的经验,当然对于电脑熟练者来说这可能很简单,但是我想也有相当一部分人不知道如何从 ...

最新文章

  1. python同时对文件进行读写操作-Python实现的读取文件内容并写入其他文件操作示例...
  2. QTime使用中遇到的”not enough actual parameters for macro 'min'“问题
  3. python 通过shutil.move移动图片出错xe5\xb8\xb8\xe7
  4. 【C++】Visual Studio教程(八) -修复 Visual Studio
  5. springCloud - 第1篇 - 服务的注册 Eureka
  6. 国科大高级人工智能9-模糊数学和遗传算法
  7. presto支持标准sql吗_presto技术文档
  8. 必知必会JVM垃圾回收——对象搜索算法与回收算法
  9. 澳大利亚超市巨头考虑设专门网站 方便代购买奶粉
  10. Elasticsearch笔记三之版本控制和插件
  11. 最小生成树----kruskal算法代码
  12. (转)SQL Server 监控统计阻塞脚本信息
  13. L1-030 一帮一 (15 分)—团体程序设计天梯赛
  14. 《算法设计》求单峰数组
  15. 路由器下一跳地址怎么判断_路由器工作原理(一)
  16. 工业相机与工业镜头相关参数详解
  17. tps在区块链是什么意思_超百万的TPS拯救不了区块链技术,区块链还差什么?
  18. 会畅通讯会议客户端分析
  19. mysql怎么限制输入男女_excel表格中如何限制只输入男女
  20. CopyOnWriteArraySet

热门文章

  1. WindowsServer实训项目——第一章:安装与激活WindowsServer
  2. 僵尸进程以及如何处理僵尸进程
  3. linux 关闭僵尸进程,linux下的僵尸进程处理办法
  4. gridview 排序
  5. 信息化和信息系统-PMP
  6. 易灵思FPGA-软件Efinity和Modelsim联仿设置
  7. IPC--印制电路板的一种标准
  8. java/php/net/python题库管理系统设计
  9. 如何画 软件工程 流程图
  10. python自动化办公之word文本框内容批量修改