有关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);
        }
  • 1K=1024字节
  • 1M=1024*1024字节
  • 1G= 1024*1024*1024字节

取得大小之后 你直接转成一个大整数恩