我有一个可以使用互联网连接下载数据的应用程序.我正在使用HttpURLConnection来做到这一点.

问题:我的应用程序消耗了Internet带宽,因此用户将在其浏览器上缓慢浏览.我想让他们选择自己设置带宽限制,而不是像this site.我已经知道了.

问题:下载时如何设置带宽限制?例如:500 KB / s(每秒千字节).

这是我下载文件的方法:

// These are the status codes.

public static final int DOWNLOADING = 0;

public static final int PAUSED = 1;

public static final int COMPLETE = 2;

public static final int CANCELLED = 3;

public static final int ERROR = 4;

private long downloaded;

private int status;

private void downloadFile(String requestUrl) throws IOException {

InputStream stream = null;

RandomAccessFile output = null;

status = DOWNLOADING;

downloaded = 0;

URL url = new URL(requestUrl);

try {

System.setProperty("http.keepAlive", "false");

output = new RandomAccessFile(my_directory, "rw");

// Open connection to URL.

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setConnectTimeout(5000);

connection.connect();

// Make sure response code is in the 200 range.

int statusCode = connection.getResponseCode();

if (statusCode != 200) {

status = ERROR;

}

stream = connection.getInputStream();

while (status == DOWNLOADING) {

byte buffer[] = new byte[1024];

// Read from server into buffer.

int read = stream.read(buffer);

if (read == -1)

break;

// Write buffer to file.

output.write(buffer, 0, read);

downloaded += read;

}

status == COMPLETE;

} catch (Exception e) {

status = ERROR;

} finally {

if (output != null) {

try {

output.close();

} catch (Exception e) {}

}

// Close connection to server.

if (stream != null) {

try {

stream.close();

} catch (Exception e) {}

}

}

}

java web 下载文件带宽限制_java-下载时限制带宽相关推荐

  1. java web fileupload_javaweb 文件上传(fileupload) 下载

    1 文件上传 html中通过可以向服务器上传文件.不过后台需要手动解析请求,比较复杂,所以可以使用smartupload或apache的fileupload组件进行文件的上传.smartupload据 ...

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

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

  3. java里面的文件上传与下载

    java里面的文件上传与下载 文件的上传与下载主要用到两种方法: 1.方法一:commons-fileupload.jar commons-io.jar apache的commons-fileuplo ...

  4. java 读取远程文件并让浏览器下载

    java 读取远程文件并让浏览器下载 @RequestMapping("/downLoadFile")@ResponseBodypublic ResponseEntity<b ...

  5. Android下载文件(一)下载进度断点续传

    Android下载文件(一)下载进度&断点续传 索引 Android下载文件(一)下载进度&断点续传 Android下载文件(二)单任务多线程并发&断点续传(待续) Andro ...

  6. python 下载文件-python爬虫之下载文件的方式总结以及程序实例

    python爬虫之下载文件的方式以及下载实例 目录 第一种方法:urlretrieve方法下载 第二种方法:request download 第三种方法:视频文件.大型文件下载 实战演示 第一种方法: ...

  7. 上传文件正常,下载文件查看失败,下载文件大小为0kb

    上传文件正常,下载文件查看失败,下载文件大小为0kb 首先查看前台传进来的文件名与目录下的文件名是否一致,其次查看下载文件路径是否正确. 我的多出来个日期文件夹 is = new FileInputS ...

  8. linux下载文件夹到本地命令行,linux下载文件到本地命令,linux下载文件到本地命令 下载工具...

    linux下载文件到本地命令,linux下载文件到本地命令 下载工具 来源:互联网/编辑:佚名/时间:2020-09-08 在手机上看 扫一扫进入手机端 linux用户命令在哪个文件夹下 用 whic ...

  9. android+后台下载notification,Android实现Service下载文件,Notification显示下载进度的示例...

    先放个gif..最终效果如果: 主要演示了Android从服务器下载文件,调用Notification显示下载进度,并且在下载完毕以后点击通知会跳转到安装APK的界面,演示是在真实的网络环境中使用真实 ...

  10. NX二次开发 判断外挂是否需要更新,从PTF下载文件(从服务器下载文件)

    NX二次开发 判断外挂是否需要更新,从PTF下载文件(从服务器下载文件) //电信的宽带很快,移动到宽带要加载好几秒#include <stdio.h> #include <stri ...

最新文章

  1. 特征点匹配+特征检测方法汇总
  2. 基于MATLAB的OFDM系统实现
  3. centos怎么切换python版本_centos6更换默认python版本为python3方法
  4. 设计模式之Adapter
  5. 计算机应用技术自我分析,计算机应用*个人自我鉴定
  6. [转]在SSIS中,使用“包配置”时的常见错误与解析
  7. DBParameter比拼接字符串慢的解决办法
  8. 我在CodePlex上建的开源项目:JavaScript Lexer and Parser(欢迎加入)
  9. php如何让图片自适应屏幕,css如何让图片自适应屏幕大小
  10. access mysql知乎_Access数据库如何使用?
  11. 克服舍不得花钱的心理_心理学如何提供一种方法来克服普遍否认电动汽车的好处
  12. 【计算机网络】网络层 : 数据交换方式 ( 电路交换 | 报文交换 | 分组交换 )★
  13. java运维工程师简历_运维工程师个人简历怎么写?
  14. 无需任何插件,教你影像如何精准导入CAD软件进行绘图?
  15. Liunx官网下载步骤
  16. 你是想读书,还是想读完书?
  17. 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备
  18. 获得淘系商品详情展示
  19. 中科蓝讯 AB32VG1 开发板 GPIO 控制RGB彩灯实验
  20. python发红包(转载)

热门文章

  1. 2021年安全员-B证(陕西省)复审考试及安全员-B证(陕西省)模拟考试题
  2. CSS3渐变效果工具
  3. CentOS 6最新网络yum源配置(2022.5.7)
  4. PR 2019 快速入门(6)
  5. Numpy数组中删除指定位置、指定行或指定列的数据:numpy.delete()
  6. crack Tut.ReverseMe1.exe
  7. mysql左对齐原则_Mysql学习,这21个SQL语句优化规范方法你知道吗
  8. 微信小程序如何实现通过js修改wxml的for循环中的属性值
  9. mysql 复合索引_Mysql复合索引的顺序和必要值
  10. !analyze -v