首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查下载进度

检查下载进度
EN

Stack Overflow用户
提问于 2011-04-08 09:39:15
回答 1查看 1.6K关注 0票数 0

我是通过以下方式下载的,它的工作fine.But想要检查每个块是在什么时候到来的。

文件文件=新的File(extStorageDirectory+"/"+runInBackend.count+sche.file_name);

代码语言:javascript
复制
HttpURLConnection connection = (HttpURLConnection)url.openConnection();

   connection.setDoOutput(true);

   connection.setConnectTimeout(sche.TimeOut);

   connection.setRequestMethod("POST");

   String status = connection.getHeaderField(0);//getResponseMessage();

   if(status != null && status.contains("200"))

    {
            InputStream is = connection.getInputStream();

            BufferedInputStream bis = new BufferedInputStream(is);

            ByteArrayBuffer baf = new ByteArrayBuffer(50);

            int current = 0;

            long totalBytesRead = 0;
                 while ((current = bis.read()) != -1) 

                 {
                     baf.append((byte) current);

                     totalBytesRead ++;

                 }
                 FileOutputStream fos = new FileOutputStream(file);

                 fos.write(baf.toByteArray());

                 fos.close();

有没有办法检查任何fie的下载进度,也就是每个区块到达的时间。

救命啊...

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-04-08 10:03:51

您可能应该将下载内容移动到后台线程中,例如,使用AsyncTask

当您获得初始响应时,您可以取出content-length标头,以跟踪您已经下载了多远的内容。如果你想生成一个ETA,你总是可以用System.currentTimeMillis或者Date得到当前的时间。

希望这能帮上忙

菲尔·莱洛

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5589527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档