一个工作示例,使用您的代码并在进度条中显示进度可能如下所示:

import java.io.BufferedOutputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.net.HttpURLConnection;

import java.net.URL;

import javax.swing.JFrame;

import javax.swing.JProgressBar;

import javax.swing.SwingUtilities;

import javax.swing.WindowConstants;

public class Progressbar {

public static void main(String[] args) {

final JProgressBar jProgressBar = new JProgressBar();

jProgressBar.setMaximum(100000);

JFrame frame = new JFrame();

frame.setContentPane(jProgressBar);

frame.setDefaultCloSEOperation(WindowConstants.EXIT_ON_CLOSE);

frame.setSize(300,70);

frame.setVisible(true);

Runnable updatethread = new Runnable() {

public void run() {

try {

URL url = new URL("http://downloads.sourceforge.net/project/bitcoin/Bitcoin/blockchain/bitcoin_blockchain_170000.zip");

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

long completeFileSize = httpConnection.getContentLength();

java.io.BufferedInputStream in = new java.io.BufferedInputStream(httpConnection.getInputStream());

java.io.FileOutputStream fos = new java.io.FileOutputStream(

"package.zip");

java.io.BufferedOutputStream bout = new BufferedOutputStream(

fos,1024);

byte[] data = new byte[1024];

long downloadedFileSize = 0;

int x = 0;

while ((x = in.read(data,1024)) >= 0) {

downloadedFileSize += x;

// calculate progress

final int currentProgress = (int) ((((double)downloadedFileSize) / ((double)completeFileSize)) * 100000d);

// update progress bar

SwingUtilities.invokeLater(new Runnable() {

@Override

public void run() {

jProgressBar.setValue(currentProgress);

}

});

bout.write(data,x);

}

bout.close();

in.close();

} catch (FileNotFoundException e) {

} catch (IOException e) {

}

}

};

new Thread(updatethread).

start();

}

}

这显示了如何做到 – 在使用之前你应该考虑GUI-Threads等.

java下载进度怎样判断_Java获得下载进度相关推荐

  1. java环境变量的配置_Java的下载及环境变量的配置

    讲讲java的安装,java的官方下载地址为https://www.oracle.com/technetwork/java/javase/downloads/index.html目前oracle官网提 ...

  2. java下载好怎么验证_Java JDK下载、安装和验证

    1.JDK下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html,点开链接看到如下图所示的界面: 2.点击上图 ...

  3. java为什么安装怎么慢_Java JDK下载为什么慢? 国内下载站来解决

    作为一个Java程序员,无论是在开发过程还是最终部署上线,都免不了跟JDK打交道,也都免不了去下载Java JDK.但是Oracle官方网站在境外,下载速度实在是太慢了.而且,下载前还需要先注册登录, ...

  4. java远程下载文件到本地_java远程下载文件到本地

    方法一 ** * 下载远程文件并保存到本地 * * @param remoteFilePath-远程文件路径 * @param localFilePath-本地文件路径(带文件名) */ public ...

  5. java 对象为空判断_java中判断对象是否为空的方法

    判断Java对象是否为null的方法: 首先,直接使用 object == null 去判断,对象为null的时候返回true,不为null的时候返回false.然后,在object != null ...

  6. java语言 回文判断_java判断回文字符串的几种方法

    java判断回文字符串几种简单的实现: 1.将字符串倒置后逐一比较,实现如下: public class HuiWenTest { /** * @SERLIN */ public static voi ...

  7. java 数值越界的判断_java 中int 范围越界校验算法

    LeetCode上老有String 或者 char[]转int的算法,在计算之前需要分析计算是否会超过int 的范围,自己写了一个算法mark 一下.该算法用于       高位乘10 并加低位    ...

  8. java 看书浏览器官_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过url预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

  9. java浏览器预览文件_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过URL预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的Header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

最新文章

  1. 安利一个超好用的 Pandas 数据挖掘分析神器
  2. IPSEC ×××主模式的九个包交换
  3. css3制作炫酷导航栏效果 转
  4. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第19篇]Shamir密钥交换场景
  5. SharePoint 入门介绍
  6. 计算机领域 热点应用,2017年度计算机科学各领域热点词汇
  7. 用‘栈’的思想编写一个十进制转换二进制、八进制或十六进制的程序
  8. 对象数组题目 Student类
  9. 三款免费好用的Gif制作神器
  10. AI2(App Inventor 2)离线版服务器(2019.8.25更新)
  11. 软考网络工程师考试大纲
  12. 树莓派显示中文和添加中文输入法
  13. linux添加多网站,linux添加多个网站-微笑の风
  14. Blender导入unity——模型绑定骨骼后再导入unity,材质异常,法线翻转
  15. 漏洞优先级技术(VPT)导论
  16. Python课程入门之Pycharm创建PY文件的使用步骤与模板创建
  17. 墨画子卿第四章第6节:卷轴
  18. chrome怎么运行Android程序,ARCVM:Chrome OS 中运行 Android 应用程序的新方式
  19. node-opcua的使用 --- [2] 添加对象和变量
  20. 061 python实现EXP

热门文章

  1. [USACO18OPEN]Talent Show
  2. ArcGIS Server 10.1发布结果地图服务——与10.0的区别及过程
  3. Windows7下硬盘安装RHEL 6.1
  4. js中的数组基本知识
  5. VS2017 提示警告 IDE0006
  6. mybatis学习笔记--常见的错误
  7. solr6.6+jetty+centos+mysql
  8. suse zypper 添加源
  9. 1835 魔法猪学院
  10. 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包。