文件的下载:
使用HTTP协议下载文件
·创建一个HttpURLConnection对象
HttpURLConnection urlConnection=(HttpURLConnection)url.openConnection();
·获得一个InputStream对象
urlConn.getInputStream()
·访问网络的权限
android.permission.INTERNET
·从网络上下载文件夹
HttpDownload.java中的代码:
public class HttpDownload {
private URL url;
/**根据URL下载文件,前提是这个文件当中的内容是文件 ,函数的返回值就是文件当中的内容
1、创建一个URl对象
2、通过URL对象,创建一个HttpURLConnection对象
3、得到InputStram
4、从InputStram中读取数据
**/
public String downFile(String urlStr) {
StringBuffer sb=new StringBuffer();
String line=null;
//IO流的管道名,BufferedReader中有个ReadLine()方法,每次可以读取一行数据
BufferedReader buffer=null;
try {
//创建一个URL对象,然后把我们要下载的地址(urlStr)作为参数传进来
url = new URL(urlStr);
//创建一个Http链接
//调用URL的openConnection()方法,向下转型,将url转型为HttpURLConnection类型
HttpURLConnection urlConn=(HttpURLConnection) url
.openConnection();
//使用IO流读入数据
//url对象调用getInputStream()方法就可以得到一个InputStream
//这个InputStream代表的就是你的这个地址所代表的那个文件
//因为直接操作InputStream不太方便,所以我们在InputStream(字节流,读取的全是一个一个的字节)这个流外面
//套一层InputStreamReader,再在InputStreamReader(字符流)的外面套一层BufferedReader(其内的ReadLine()方法可读整行)
buffer=new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
line=buffer.readLine();
while(line !=null){
//将line对象里的数据添加到sb对象里的后面
sb.append(line);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
buffer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString() ;
}
private StringBuffer append(String line) {
return null;
}
}
·将下载的文件存入SD卡中
**必须在downManifest.xml中写入一些权限
1、得到当前设备SD卡的目录
2、访问SD卡的权限