问题描述
- 有关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字节
解决方案二:
取得大小之后 你直接转成一个大整数恩
时间: 2024-10-30 05:01:28