开发项目遇到这么一个功能就是,通过http或者https的视频或者图片的浏览地址去下载视频,或者图片保存到本地

1.我们可以看到远程的视频

这个视频是在远程的,需要用浏览器浏览

2.想要下载此视频,以下程序代码可以做到,一个测试的类

import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;/*** @author lrx* @description: TODO  视频或者图片下载工具类* @date 2022/10/27 17:00*/
public class VideoDownload {/*** 保存到本地的工具类* @param args*/public static void main(String[] args) {String txUrl = "URl地址";// 生成视频名称String spName = System.currentTimeMillis() + ".mp4";// 保存到本地的地址 /Users/tp/shipi/ 因为我是mac本所以和win系统不一样// 所以使用win系统的自行更换// String bdPath = "/Users/tp/shipi/"+spName;String bdPath = "保存到本地的地址"+spName; // 保存到服务器的地址boolean downVideo = downVideo(txUrl, bdPath);}/*** 下载视频* @param videoUrl 视频网络地址* @param downloadPath  视频保存地址*/public static boolean downVideo(String videoUrl, String downloadPath) {HttpURLConnection connection = null;InputStream inputStream = null;RandomAccessFile randomAccessFile = null;boolean re;try {URL url = new URL(videoUrl);connection = (HttpURLConnection) url.openConnection();connection.setRequestProperty("Range", "bytes=0-");connection.connect();if (connection.getResponseCode() / 100 != 2) {System.out.println("连接失败...");return false;}inputStream = connection.getInputStream();int downloaded = 0;int fileSize = connection.getContentLength();randomAccessFile = new RandomAccessFile(downloadPath, "rw");while (downloaded < fileSize) {byte[] buffer = null;if (fileSize - downloaded >= 1000000) {buffer = new byte[1000000];} else {buffer = new byte[fileSize - downloaded];}int read = -1;int currentDownload = 0;long startTime = System.currentTimeMillis();while (currentDownload < buffer.length) {read = inputStream.read();buffer[currentDownload++] = (byte) read;}long endTime = System.currentTimeMillis();double speed = 0.0;if (endTime - startTime > 0) {speed = currentDownload / 1024.0 / ((double) (endTime - startTime) / 1000);}randomAccessFile.write(buffer);downloaded += currentDownload;randomAccessFile.seek(downloaded);System.out.printf(downloadPath+"下载了进度:%.2f%%,下载速度:%.1fkb/s(%.1fM/s)%n", downloaded * 1.0 / fileSize * 10000 / 100,speed, speed / 1000);}re = true;return re;} catch (MalformedURLException e) {e.printStackTrace();re = false;return re;} catch (IOException e) {e.printStackTrace();re = false;return re;} finally {try {connection.disconnect();inputStream.close();randomAccessFile.close();} catch (IOException e) {e.printStackTrace();}}}
}

控制台输出

说明下载成功了,我们可以去本地文件夹查看是否可以播放

点击播放看看

说明没有问题了,成功了

3.同理我们可以去下载图片,只需要修改以下代码

这个是网上的图片

咱们修改以下代码

     String txUrl = "xx.png"; //修改这里// 生成视频名称String spName = System.currentTimeMillis() + ".png"; //修改这里

控制台输出运行的结果

在文件夹查看图片是否可以打开

ok,成功了

JAVA根据URL路径将网络视频保存到本地相关推荐

  1. java通过url获取网页内容_Java语言通过URL读取网页数据并保存到本地文件(代码实例)...

    本文主要向大家介绍了Java语言通过URL读取网页数据并保存到本地文件(代码实例),通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. Java通过URL读取网页数据并保存到本地文件(代码 ...

  2. unity 入门知识:unity 根据URL路径下播放视频的宽高比更改播放面板的大小

    一.unity 根据URL路径下播放视频的宽高比更改播放面板的大小 public class VIdeoMgr : MonoBehaviour { // Start is called before ...

  3. java通过url读取远程数据并保持到本地

    前几天老姐突然告诉我,她在JD上买了本电子图书,然后买完发现,只能在线或者使用它自己的阅读器看,很不方便,让我给想想办法. 然后我就开始琢磨,最开始,我直接使用Acrobat Reader打开,发现只 ...

  4. 星星之火-50:无意中发现一种能够把网络视频下载到本地计算机中的方法

    目前,随着移动互联网的盛行,网络中充斥着各种大量的视频,但大多数情况下,我们智能通过客户端观看视频,无法把视频文件下载到本地,最笨的方法就是录屏. 然后,一个偶然的机会,无意中发现一种能够把网络视频下 ...

  5. 短视频平台开发,将图片、视频保存到本地的相册中

    短视频平台开发,将图片.视频保存到本地的相册中实现的相关代码 获取本地相册 - (IBAction)goodsButton1Touch:(id)sender {//拿到获取相册的权限if([UIIma ...

  6. 原来微信视频号视频保存到本地这么简单

    打开fiddler,微信播放需要保存到本地的视频号 在fiddler按Ctrl+f,搜索taskid,找到标黄的session复制url即可 右键复制url在浏览器打开即可下载 [0329]发现找不到 ...

  7. python从url获取pdf文件并保存在本地

    思路: 借助requests下载文件 将文件转换为字节流 将字节流保存在本地 代码案例 图片.pdf或文本什么的,思路是一样的: def get_file_from_url(url_file):imp ...

  8. 【Android】利用WindowsManager悬浮窗播放本地视频以及下载线上视频保存在本地

    基于目前又重新拾起了分屏的项目需求,对之前研究的分屏播放视频做了更深入的研究.在之前的基础上做了改进和用户优化上的处理,实现了原生的VideoView加载本地视频.并使用FileDownLoader下 ...

  9. 解决Java工程URL路径中含有中文的情况

    问题: 当Java工程路径中含有中文时,得不到正确的路径 *** 解决: 这其实是编码转换的问题.当我们使用ClassLoader的getResource方法获取路径时,获取到的路径被URLEncod ...

  10. uni-app视频保存到本地/相册

    需求: 页面标题为视频名称,视频可播放观看,允许播放手势(如双击切换暂停/播放,拖拽改变视频进度等),显示静音和全屏按钮,其余类似弹幕等功能不需要.视频下方按钮"保存视频到相册", ...

最新文章

  1. 干掉 powerdesigner,设计数据库表用它就够了
  2. s时钟画布 android,Android UI编程进阶——使用SurfaceViewt和Canvas实现动态时钟
  3. .NET平台开源项目速览(12)哈希算法集合类库HashLib
  4. atitit.Oracle 9 10 11 12新特性attilax总结
  5. Java枚举(用Java普通类模拟枚举的实现原理及JDK枚举API使用示例)
  6. SAP License:Ecc6.0和R/3 有什么区别?
  7. electron加载html加载不起来,Electron 预加载远程页面提升用户体验
  8. javascript学习之数组的使用二 forEach方法
  9. java三大特性之—封装
  10. 系统集成项目管理工程师有什么用,你真的了解吗?
  11. 现在有哪些好用的程序员学习交流的网站或者app?
  12. Python-航空公司客户价值分析
  13. 智障儿童欢乐多,蹦蹦哒哒过六一:用 Python 开发连连看小游戏
  14. 环境篇:CM+CDH6.3.2环境搭建(全网最全)
  15. RPLIDAR思岚雷达学习记录--1--初识a1并跑通
  16. 鸿蒙系统代还,连米粉都骂的小米11 ultra,现在还能有人买吗?
  17. 计算机u盘设备无法启动不了怎么办,u盘无法启动提示错误代码10该怎么处理
  18. 看书学习感悟系列(三)
  19. 区别:迭代加深搜索广度优先搜索
  20. bbp代码python_如何正确计算加密债券价格的BBP(Bollinger波段百分比)?

热门文章

  1. php 获取手机信息
  2. win10如何局部截图
  3. 项目开始之前需要搞懂的几个概念POJO、PO、DTO、DAO、BO、VO
  4. android开发工具 go,轻松搭建基于go1.5开发Android应用的环境 | Go语言中文网 | Golang中文社区 | Golang中国...
  5. Unity 预编译选项
  6. 数据可视化大屏demo制作(画图)
  7. 论文笔记:《DeblurGAN: Blind Motion Deblurring Using Conditional Adversarial Networks》
  8. 思考的力量—谈谈程序员成长背后的思考力
  9. 5G到底有多快?和4G相比的直接数据给你更直观感受
  10. java 前后端分离教程,Java web前后端分离