文件的下载:
使用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卡的权限
时间: 2024-10-10 20:49:49