1.使用HTTP协议下载文件
文件下载步骤:
(1)传递一个URL地址,新建一个URL类的对象
URLurl = new URL(urlStr);
(2)创建一个HttpURLConnection对象
HttpURLConnectionurlConn = (HttpURLConnection)url.openConnection();
(3)、获得一个InputStream对象,从这个输入流中读取网路端的传入数据
InputStreamips = urlConn.getInputStream();
通过这3个步骤就能通过输入流ips获取中读取相关的数据,剩下的都是javaIO编程的相关处理
(4)、注意:访问网络,必须在AndroidManifest.xml中添加网络访问权限:
android.permission.INTERNET
访问SDCARD:
(1)、一般,手机设备(android模拟器的)的SD卡目录位sdcard,但是,为防止其他情况的 出现, 安全的方法是通过Environment中的静态方法获取当前设备的SD卡目录:
Environment.getExternalStorageDirectory();
(2)、访问SD卡,必须在AndroidManifest.xml中添加SD卡访问权限:
android.permission.WRITE_EXTERNAL_STORAGE
javaIO编程的一些类与方法:
(1)StringBuffer(其实是String的一个类,对字符串进行append、删除、修改、插入等操作比String来的方便):
append、toString等方法
(2)BufferedReader(从字符输入流中读取文本并将字符存入缓冲区以便能提供字符、数组和线段的高效读取– 从字符流到缓冲区的桥梁):
newBufferedReader接收的是字符流的对象,表可想象成一个包装字符流的管道,一串字符流,一次性读取多个字符;
readLine(读取一文本行)
(3)InputStreamReader(是从字节流到字符流的桥梁,它读入字节,并根据指定的编码方式, 将之转换为字符流):
read(读取单一字符)
注:为了达到更高效率,考虑用BufferedReader 封装InputStreamReader,一次性多个 字符的读取;
(4)InputStream(从输入字节流中读取数据,单个字节的读取):
read
注:一般会将InputStream封装在InputStreamReader中(整字符读取),再将获得的 InputStreamReader封装在BufferedReader中,一次性多个字符的读取;
(5)File(java中对文件操作的类):
createNewFile(在当前目录下建立文件—文件名在newFile时已指定)、mkdir(建立目录—目录名或路径在newFile时已指定)、exists(检查文件的存在性)、delete(删除文件或目录)
(7)FileOutputStream(以输出字节流的方式将字节数据写入到文件中):
write(以字节流的方式将一个buffer写入到newFileOutputStream对应的文件中)、 flush(写入完成后清空缓存)
FileInputStream(以输入字节流的方式从文件中读取数据)