Java从指定URL下载文件并保存到指定目录
转自(留做笔记):https://www.cnblogs.com/henuyuxiang/p/11608936.html
1.基本流程
当我们想要下载网站上的某个资源时,我们会获取一个url,它是服务器定位资源的一个描述,下载的过程有如下几步:
(1)客户端发起一个url请求,获取连接对象。
(2)服务器解析url,并且将指定的资源返回一个输入流给客户。
(3)建立存储的目录以及保存的文件名。
(4)输出了写数据。
(5)关闭输入流和输出流。
2.实现代码的方法
/** * @从制定URL下载文件并保存到指定目录* @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 = "123.png"; //文件URL地址 String fileName = photoUrl.substring(photoUrl.lastIndexOf("/")); //为下载的文件命名String filePath = "d:"; //保存目录File file = saveUrlAs(photoUrl, filePath + fileName,"GET");
}
Java从指定URL下载文件并保存到指定目录相关推荐
- python下载文件保存_Python根据URL地址下载文件并保存至对应目录的实现
引言 在编程中经常会遇到图片等数据集将图片等数据以URL形式存储在txt文档中,为便于后续的分析,需要将其下载下来,并按照文件夹分类存储.本文以Github中Alexander Kim提供的图片分类数 ...
- Python根据URL地址下载文件并保存至对应目录
Python根据URL地址下载文件并保存至对应目录 引言 在编程中经常会遇到图片等数据集将图片等数据以URL形式存储在txt文档中,为便于后续的分析,需要将其下载下来,并按照文件夹分类存储.本文以Gi ...
- 通过url下载文件并保存
/*** 说明:根据指定URL将文件下载到指定目标位置* * @param urlPath 下载路径 * @param downloadDir 文件存放目录 * @param fileFullName ...
- java 文件无法下载_无法从Java中的URL下载文件
小编典典 您byte由于 while (fileIn.read() != -1) { //1st read fileOut.write(fileIn.read()); //2nd read - 1st ...
- 使用Chrome浏览器自动下载文件并保存到指定的文件路径(使用Selenium更改Chrome默认下载存储路径)...
https://blog.csdn.net/zbj18314469395/article/details/81207268 转载于:https://www.cnblogs.com/person008/ ...
- java从url下载文件_Java从URL下载文件
在这篇文章中将学习如何从java下载URL中的文件.使用java.net.URL openStream()方法从java程序中的URL下载文件.也可以使用Java NIO Channels或Java ...
- java从url下载文件_从URL下载Java文件
java从url下载文件 Today we will learn how to download a file from URL in java. We can use java.net.URL op ...
- 通过url下载文件保存到指定的不存在目录下
通过url下载文件保存到指定的不存在目录下 从网络Url中下载文件 /*** 从网络Url中下载文件* @param urlStr* @param fileName* @param savePath* ...
- java 服务器 文件写入文件_java 从服务器下载文件并保存到本地
昨天在做一个项目时,用到了从服务器上下载文件并保存到本地的知识,以前也没有接触过,昨天搞了一天,这个小功能实现了,下面就简单的说一下实现过程: 1.基础知识 当我们想要下载网站上的某个资源时,我们会获 ...
最新文章
- 1.4 w字,25 张图让你彻底掌握分布式事务原理
- Nature:拟南芥微生物组功能研究3人工重组微生物群落
- UNIX再学习 -- 信号
- Linux sed删除文件注释行并删除空行
- 18寒假最后一测+dijistra模板
- 《Java多线程编程核心技术》读后感(十五)
- java个人博客系统源码_Java基于SSM的个人博客系统(源码 包含前后台)
- netframework 4.5官网下载路径
- C# 注册Dll文件
- Invalid prop: type check failed for prop “index“. Expected String with value “145“...
- 字符串匹配(KMP)算法及Java实现
- ECharts项目小结~
- 【建模算法】基于遗传算法求解TSP问题(Python实现)
- pip 批量完全卸载包
- 【服务器】揭秘淘宝286亿海量图片存储与处理架构
- 全文检索同时高亮多个字段
- cosmo是什么牌子_时尚COSMO - 时尚品牌 - 时尚
- java计算机毕业设计Web企业差旅在线管理系统源码+mysql数据库+系统+lw文档+部署
- android分辨率2k3k4k,android 不同分辨率适配
- 第十一课:磁场和洛伦兹力
热门文章
- javascript中mouseenter与mouseover的异同
- x79主板配什么cpu好 x79主板组装电脑教程
- Linux命令行下载磁力链接(magnet:?xt=xxxxx)
- 2021宝应各高中高考成绩查询,2019扬州大市各高中高考情况如何,看超全喜报!...
- 视频教程-FastAdmin插件开发入门-PHP
- vim 清空文本内容指令
- 响应式网页设计_响应式网页设计:我们从这里去哪里?
- 马云欲保留控制权 阿里或放弃香港上市
- 工业机器人关节拆装流程_VR工业机器人拆装系统
- 强烈推荐一款国产物联网实时操作系统RT-Thread