Mars Android视频学习笔记——01_18_文件下载

来源:互联网 发布:教材管理系统c语言 编辑:程序博客网 时间:2024/04/30 10:44

转载时请注明转自:http://blog.csdn.net/sam_zhang1984

交流可加新浪微博:Android开发人

 

 

文件下载就涉及到两个问题:

1.         下载:使用网络协议下载文件,这里主要是讲利用HTTP协议下载。

2.         保存:文件可以保存到手机内存,也可以下载到SDCard,下到SD卡是比较常用的。

 

文件下载的主要步骤有:

1)  创建一个HttpURLConnection对象。通过URLopenConnection方法,就可以得到一个HttpURLConnection对象,所以要先创建一个URL对象;

2)  通过HttpURLConnection对象的getInputStream方法可以得到一个InputStream对象;

3)  获取网络访问的权限。

 

文件保存(保存到SDCard):

1)        得到设备SD卡的目录:使用Environment.getExternalStorageDirectory得到SD卡的目录;

2)        获取访问SD卡的权限;

 

3)        SD卡里写入文件,这里涉及到JAVA的文件操作。

 

SD卡里面写入文件就涉及到了JAVAIO操作了,向卡里加入文件主要有以下几个步骤:

a)         创建存放文件的目录;

b)        在目录中创建文件;

 

c)        根据文件对象创建一个OutPutStream向文件里写入内容。

 

 

JAVAIO操作各种类的记法:

1、  stream结尾的是字节流,readerwriter结尾的是字符流;

2、  Buffer开头的是缓冲处理流;

3、  OutputSteamWriter:即是把一个输出字节流,转换成一个输了字符流。

4、  处理流方法名后面是stream,则其参数是Inputsteam类型的字节流;如果处理流方法名后面是readerwriter,则其参数是readerwriter类型的字符流;

IO流的操作相对比较复杂,方法、类型都比较多,还有得加强基础!

下面是一个好的IO编程习惯:

良好的编程习惯 是先写flush,再写close。因为close直接就把数据流给释放掉,

但如果这时缓冲区里还有数据,就无法再向目标写入了,所以应该先调用flush把缓冲区

的所有数据写到目的地。

原创粉丝点击