twscust 2015-05-22 11:32 采纳率: 0%
浏览 1855

有关android进度条上文件大小的单位的问题

我想做一个进度条用来显示文件下载的进度。下面代码中setMax()的参数是整数,大小是文件的字节数,我在上面以单位M显示文件的大小,不知道怎么实现额。还有最后一行setProgress()设置当前下载量显示的也是整型的字节数,怎么兆为单位来显示呢,如文件大小12.5M,当前进度2.3M。求大神指教一下!谢谢!

        pd.setMax(conn.getContentLength()); //设置成文件的大小
        InputStream is = conn.getInputStream();
        File file = new File(Environment.getExternalStorageDirectory(), "updata.apk");
        FileOutputStream fos = new FileOutputStream(file);
        BufferedInputStream bis = new BufferedInputStream(is);
        byte[] buffer = new byte[1024];
        int len ;
        int total=0;
        while((len =bis.read(buffer))!=-1){
            fos.write(buffer, 0, len);
            total+= len;
            //获取当前下载量
            pd.setProgress(total);
        }
  • 写回答

2条回答 默认 最新

  • 知常曰明 2015-05-22 11:44
    关注
    • 1K=1024字节
    • 1M=1024*1024字节
    • 1G= 1024*1024*1024字节
    评论

报告相同问题?

悬赏问题

  • ¥88 实在没有想法,需要个思路
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)