码迷,mamicode.com
首页 > 其他好文 > 详细

从网络上下载文件

时间:2015-05-27 12:16:59      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

文件的下载:
使用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卡的权限

 

 

从网络上下载文件

标签:

原文地址:http://blog.csdn.net/lilu920923/article/details/46044381

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!