先祝大家中秋节快乐,为大家介绍下中秋篇Android文件下载与存储实例,感谢大家的支持哈!

1,为了下次使用的更方便我封装了一个文件与媒体下载的HttpDownloader类的代码如下:

// 此方法是为Text文件下载

public class HttpDownloader{

//声明url对象,为传递地址使用

private URL url=null;

//文件下载封装方法

public String download(String urlStr){

//声明StringBuffer对象

StringBuffer sb=new StringBuffer();

//为读取数据储存使用

String line =null;

//声明读取数据的对象

BufferedReader buffer =null;

try{

url =new URL(urlStr);

//通过HttpURLConnetion方法获取文件下载对象

HttpURLConnection urlConn=(HttpURLConnection)url.openConnection();

//通过流的方式得到文件下载内容,并存储在buffer中

buffer=new BufferedReader(new InputStreamReader(urlConn.getInputStream()));

//循环读取存入

while(line=buffer.reaLine()!=null){

sb.append(line);

}

}catch(Exception e){

e.printStackTrace();

}finally{

try{

 //关闭流,为了节约内存

buffer.close();

}catch(Exception e){

e.printStackTrace();

}

}

return sb.toString();

}

//为MP3文件下载封装的方法,该方法返回是整形,-1:代表文件下载出错,0:代表文件下载成功,1:代表文件已经存在

public int downFile(String urlStr.String path,String fileName){

//声明InputSream对象

InputStream inputStream =null;

try{

//声明自定封装的SD卡的类

FileUtils fileUtils =new FileUtils();

//已经isFileEXist封装类的文件方法,用处是判断是否有此文件

if(fileUtils.isFileExist(path+fileName)){

return 1;

}else{

//调用下面声明的getInputStreamFronUrl方法

inputStream=getInputStreamFronUrl(urlStr);

//调用自定声明的write2SDFromInput方法,用处是写入SD卡

File resultFile =fileUtils.write2SDFromInput(pach,fileName,inputStream);

if(resultFile ==null){

return -1;

}

}

}catch(Exception e){

e.printStackTrace();

return -1;

}

finally{

try{

inputStream.close();

}

catch(Exception e){

e.printStackTrace();}

}

}

return 0;

}

//单一的定义一个获取文件内容的方法,可以使程序更好维护和修改

public InputStream getInputStreamFronUrl(String urlStr)

throws MalformedURLException,IOException{

url =new URL(urlStr);

HttpURLConnection urlConn=(HttpURLConnection)url.openConnection();

InputStream inputStream=urlConn.getInputStream();

return inputStream;

}

}

}

今天的内容就写到这里拉,明天为大家传入SD卡类的使用,谢谢大家,祝大家中秋快乐!

posted @ 2011-09-12 10:02  WangWeiDa  阅读(303)  评论(0编辑  收藏  举报