java - 为什么我看不到下载百分比?

标签 java download

我正在制作的程序的其中一个类是下载管理器。这是我处理下载及其百分比的主要代码。

byte data[] = new byte[1024];
        int count;
        while ((count = in.read(data, 0, 1024)) != -1)
        {
            downloadedPerc += (count/getModPackSize())*100;
            System.out.println(downloadedPerc);
            progressBar.setValue((int) downloadedPerc);
            label.setText(downloadedPerc + "%");
            fout.write(data, 0, count);
        }

downloadedPerc 是 double 类型。作为控制台输出,我一直得到 0.0。为什么会发生这种情况? 我的下载现在非常慢,大约 5kb/秒,如果我删除 % 计算,下载速度会快得多,为什么会这样?

最佳答案

看看这个声明:

downloadedPerc += (count/getModPackSize())*100;

count 应该是 double 类型,或者您应该将分子转换为 double。

例如:downloadedPerc += (count*1.0/getModPackSize())*100; 就可以正常工作。

关于java - 为什么我看不到下载百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12347606/

相关文章:

java - 如何让搜索引擎搜索到动态网站

php - 使用 php 提供可下载的文件

Java从重定向的 'friendly' url获取下载的文件名

javascript - 将多个图像下载到 1 个 zip 文件中

javascript - 文件下载后重新加载页面

java - OpenGL初始化方法

java - 字符串空值检查

java - Java中遍历二叉搜索树时出现StackOverflowError

java - 递归地将新节点添加到 LinkedList 的末尾?

node.js - 使用NodeJS和async.queue下载大量图像并将其保存到本地磁盘