文件下载显示进度条

2024-08-26 06:58
文章标签 显示 下载 进度条

本文主要是介绍文件下载显示进度条,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

         文件下载网络上下载资源,当文件比较小的时候,没有显示进度,可能看不出来什么,但当文件内容比较大,显示出进度条,这样就更加贴切的让用户感到文件下载的状况。

     现在先做一个小例子,主要是现在控制台输出文件下载的进度。

  

package com.tgb.demo;import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.URL;/*** Created by zss on 2017/3/5.*/
public class download {public static void dowanload(String url, String path)throws IOException {System.out.println("下载中...");InputStream inputStream = null;RandomAccessFile randomAccessFile = null;try {HttpURLConnection urlConnection = (HttpURLConnection) new URL(url).openConnection();urlConnection.setRequestMethod("GET");urlConnection.setConnectTimeout(10 * 1000);File file = new File(path);//文件夹是否存在if (!file.getParentFile().exists())file.getParentFile().mkdir();if (file.exists())file.delete();file.createNewFile();int responseCode = urlConnection.getResponseCode();if (responseCode >= 200 && responseCode < 300) {inputStream = urlConnection.getInputStream();int len = 0;byte[] data = new byte[4096];//用于保存当前进度(具体进度)int progres = 0;//获取文件长度int maxProgres = urlConnection.getContentLength();randomAccessFile = new RandomAccessFile(file, "rwd");//设置文件大小randomAccessFile.setLength(maxProgres);//将文件大小分成100分,每一分的大小为unitint unit = maxProgres / 100;//用于保存当前进度(1~100%)int unitProgress = 0;while (-1 != (len = inputStream.read(data))) {randomAccessFile.write(data, 0, len);progres += len;//保存当前具体进度int temp = progres / unit; //计算当前百分比进度if (temp >= 1 && temp > unitProgress) {//如果下载过程出现百分比变化unitProgress = temp;//保存当前百分比System.out.println("正在下载中..." + unitProgress + "%");}}inputStream.close();System.out.println("下载完成...");} else {System.out.println("服务器异常...");}} finally {if (null != inputStream) {inputStream.close();}if (null != randomAccessFile) {randomAccessFile.close();}}}public static void main(String[] args) throws IOException {String path = "D:\\abc\\image.jpg";String url="http://www.dowei.com/d/file/tuku/meinv/2016-01-26/1453788622507000.jpg";dowanload(url, path);}
}

       下面是显示的效果:

             

      如果想把这个效果做到前端,还需要前台js的控制,这个最近正在研究,应该会很简单,做好之后再添加到这篇博客中,咱们共同分享。

这篇关于文件下载显示进度条的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1107869

相关文章

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

使用国内镜像源优化pip install下载的方法步骤

《使用国内镜像源优化pipinstall下载的方法步骤》在Python开发中,pip是一个不可或缺的工具,用于安装和管理Python包,然而,由于默认的PyPI服务器位于国外,国内用户在安装依赖时可... 目录引言1. 为什么需要国内镜像源?2. 常用的国内镜像源3. 临时使用国内镜像源4. 永久配置国内镜

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

Python如何快速下载依赖

《Python如何快速下载依赖》本文介绍了四种在Python中快速下载依赖的方法,包括使用国内镜像源、开启pip并发下载功能、使用pipreqs批量下载项目依赖以及使用conda管理依赖,通过这些方法... 目录python快速下载依赖1. 使用国内镜像源临时使用镜像源永久配置镜像源2. 使用 pip 的并