import cn.hutool.core.io.FileUtil;
import lombok.extern.slf4j.Slf4j;import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;/*** @desc 文件工具类* @com * @Author tanzhiming(Jruoning) 2020/1/2 10:07*/
@Slf4j
public class FileUtils extends FileUtil {/*** 下载网络文件至服务器本地* @param urlStr 网络路径* @param apPath 存储路径+文件名称* @return*/public static void downloadFromUrl(String urlStr, String apPath) {log.info("开始下载网络文件[{}]至服务器[{}].......", urlStr, apPath);URL url = null;try {url = new URL(urlStr);} catch (MalformedURLException e) {e.printStackTrace();}HttpURLConnection conn = null;try {conn = (HttpURLConnection)url.openConnection();} catch (IOException e) {e.printStackTrace();}//设置超时间为3秒conn.setConnectTimeout(3 * 1000);//防止屏蔽程序抓取而返回403错误conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");//得到输入流InputStream inputStream = null;try {inputStream = conn.getInputStream();} catch (IOException e) {e.printStackTrace();}//获取自己数组byte[] getData = new byte[0];try {getData = readInputStream(inputStream);} catch (IOException e) {e.printStackTrace();}File file = new File(apPath);File parentFile = file.getParentFile();if (!parentFile.exists()) {FileUtils.mkdir(parentFile);}FileOutputStream fos = null;try {fos = new FileOutputStream(file);fos.write(getData);} catch (FileNotFoundException e) {e.printStackTrace();}catch (IOException e) {e.printStackTrace();}finally {if(fos!=null){try {fos.close();} catch (IOException e) {e.printStackTrace();}}if(inputStream!=null) {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}}log.info("文件下载成功至服务器[{}]", apPath);}/*** 从输入流中获取字节数组* @param inputStream* @return* @throws IOException*/public static  byte[] readInputStream(InputStream inputStream) throws IOException {byte[] buffer = new byte[1024];int len = 0;ByteArrayOutputStream bos = new ByteArrayOutputStream();while((len = inputStream.read(buffer)) != -1) {bos.write(buffer, 0, len);}bos.close();return bos.toByteArray();}
}

java实现下载网络资源至服务器相关推荐

  1. java SFTP下载,读取linux服务器文件

    一 SFTP下载,读取linux服务器文件 1 导入依赖 <dependency><groupId>org.apache.camel</groupId><ar ...

  2. java上传文件到ftp_java实现文件上传下载至ftp服务器

    以前做的一个项目,用到了文件上传下载至ftp服务器,现在对其进行一下复习,比较简单,一下就能看明白. 环境:首先,先安装ftp服务器,我是在win8本地用IIS配置的, 百度一下就可以找到安装文档. ...

  3. 下载网络资源的JAVA程序

    在idea中复制如下代码,即可下载网络上的任意资源到自己电脑,例如一些收费歌曲,视频等: package com.itheima.reggie.Thread; (包名按照自己的修改) import j ...

  4. java实现下载网络服务器上的附件/图片到本地

    新人小白一枚,记录下工作中遇到的一点问题和解决方案.仅供自己以后复习参考之用.欢迎大神指导,交流. 刚开始学写博客,不好的地方请委婉的指出来哦. 先来说说需求背景 使用java来实现从网站网页获取内容 ...

  5. JAVA实现支持视频点播WEB服务器

    一.项目简介: JAVA语言是一种可移植的,简单的,健壮的嵌入式语言.并且对网络,数据库有很好的支持,基于JAVA语言的这种特性可以十分容易地建立一个小型INTERNET服务器. 本项目中,作者用JA ...

  6. 用JAVA实现对视频点播WEB服务器的支持

    JAVA语言是一种可移植的,简单的,健壮的嵌入式语言.并且对网络,数据库有很好的支持,基于JAVA语言的这种特性可以十分容易地建立一个小型INTERNET服务器. 本项目中,用JAVA语言编写了一个W ...

  7. java设计是什么软件下载_用Java设计下载软件

    用Java设计下载软件 HTTP 协议的简介 HTTP协议是一种超文本传输协议(Hypertext Transfer Protocol),工作于网络应用层,自1990年起广泛应用于WWW 的全球信息服 ...

  8. Java web项目如何在服务器上跑起来(有源码)

    Java web项目如何在服务器上跑起来(有源码) 要用到的工具有:myeclipse.宝塔,navicat premium.xshell. 概述:本博文主要是帮助入门级新手怎么从网上下载一个java ...

  9. jenkins部署 java项目到远程 windows服务器

    jenkins部署 java项目到远程 windows服务器 1.查看windows服务器是否有 ssh服务. cmd模式,输入 ssh.如果报错就去安装ssh(可以去下 openSSH) 2.然后直 ...

最新文章

  1. TCP性能和发送接收Buffer的关系
  2. c语言试题 改错题,精选二级C++试题 – 改错题
  3. 实习小白::(转) Cocos2d-x 3.0开发(十三)使用CocoStudio编辑帧事件并关联到程序...
  4. shiro认证与授权:基于ini的用户授权
  5. [Everyday Mathematics]20150101
  6. java日历类add方法_Java日历setFirstDayOfWeek()方法与示例
  7. 机器人编程软件semia_机器人10大流行编程语言对比 你掌握了哪种?
  8. 异常捕获,返回错误码code给前端
  9. Git分支 and PullFetchMerge
  10. 死锁的处理策略——避免死锁
  11. 一个循环递归遍历问题
  12. iOS 地图移动中心点获取
  13. Multisim 10 添加可调电阻
  14. 王道训练营3月13日
  15. c语言延时函数(c语言延时函数delay用法)
  16. MATLAB加入螺旋相位板调制,螺旋相位板原理及使用手册
  17. 搜狗输入法关闭快捷键设置
  18. HTML5: select标签
  19. N32926移植电容触摸屏GT911驱动到内核
  20. 作为APIcaller识别发票信息

热门文章

  1. linux 配置 ipv6
  2. 智能合约模糊测试编译部署脚本
  3. 计算机毕业设计古诗词小程序源码
  4. ROC曲线(精简、快速了解版)
  5. 超详细图解:如何使用 WordPress搭建一个个人博客?
  6. brit用脚本JavaScript用报表创建数据源,并从配置文件中读取数据库信息
  7. 直接领料、直接倒冲、调拨领料、调拨倒冲4种,如何区分?
  8. Google Analytics(分析)个人资格认证2018-2019-2020最新中英文题库
  9. 开工大礼,我把谷歌地图、高德地图、天地图等都装进了这款软件,任意浏览下载
  10. 类记事本字处理软件java_基于Java的记事本程序的设计与实现.doc