首页 > 移动平台 > 详细

<Android开发视频教学>学习笔记

时间:2015-12-14 01:23:49      阅读:244      评论:0      收藏:0      [点我收藏+]

1、[Android开发视频教学]01_18_文件下载,这一集的示例代码有问题。

利用http协议下载任意内容的文件时,因为网络、服务器等等不可知的因素,会造成每次从输入流获取的数据量不确定。所以output.write(buffer)方法不能用了。视频中演示时下载的是本机tomcat服务器上的文件,文件大小没有出现问题。还有在http request的head中设置取消压缩方式可能也是因素之一。

http://www.myext.cn/android/a_819.html

http://m.blog.csdn.net/blog/anyfive/45024221

       file = createSDFile(path + "/" + fileName);
            output = new FileOutputStream(file);
            byte[] buffer = new byte[4 * 1024];
            int count = 0;
            while((count = input.read(buffer))!= -1){
                /*
                 * output.write(buffer)方法会造成下载的文件大小异常,
                 * 因为不是每次都刚刚好读满4K的数据到字节数组buffer中
                 * 所以要用count存储input.read(buffer)方法返回的实际读取字节数,然后使用
* output.write(buffer, 0, count) 方法来向文件写入刚刚好count个字节的数据
*/ output.write(buffer, 0, count); } output.flush();

 

<Android开发视频教学>学习笔记

原文:http://www.cnblogs.com/songshijia88888/p/5043939.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!