首页 / ANDROID / android下载简单工具类
android下载简单工具类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了android下载简单工具类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3217字,纯文字阅读大概需要5分钟。
内容图文
![android下载简单工具类](/upload/InfoBanner/zyjiaocheng/1331/6179fd8c0d624e0a814dcf275a4bbda7.jpg)
功能是实现下载文件,图片或MP3等,为了简单起见使用单线程,此代码为MarsAndroid教程的复制品,放在此处,留着参考。
首先是一个得到字节流随后保存到内存卡上的工具类:
package com.example.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import android.os.Environment; public class FileUtils { private String SDpath; public String getSDpath(){ return SDpath; } public FileUtils(){ // 得到当前外部存储设备的目录,即/SDCARD,后边加"/"为了之后方便 SDpath=Environment.getExternalStorageDirectory()+"/"; } /** * 在SD卡上创建文件 * @param fileName * @return File * @throws IOException */public File creatSDFile(String fileName) throws IOException{ File file=new File(SDpath+fileName); file.createNewFile(); return file; } /** * 在SDCARD创建目录 * @param dirName * @return*/public File creatSDDir(String dirName){ File dir=new File(SDpath+dirName); dir.mkdir(); return dir; } publicboolean isFileExist(String fileName){ File file=new File(fileName); return file.exists(); } /** * 将一个InputStream里的数据写入SD卡 */public File write2SDFromInput(String path,String fileName,InputStream is){ File file=null; OutputStream os=null; try{ creatSDDir(path); file=creatSDFile(path+fileName); os=new FileOutputStream(file); byte buffer[]=newbyte[4*1024];//4kbwhile((is.read(buffer))!=-1){ os.write(buffer); } os.flush(); System.out.println("write to "+path+"sucess!"); }catch(Exception e){ e.printStackTrace(); }finally{ try{ os.close(); }catch(Exception e){ e.printStackTrace(); } } return file; } }
随后是文件下载类:
package com.example.utils; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class HttpDownloader { private URL url=null; //此方法返回文本,但并未保存到SD卡public String downloadText(String urlstr){ StringBuffer sb=new StringBuffer(); String line=null; BufferedReader br=null; try{ url=new URL(urlstr); HttpURLConnection con= (HttpURLConnection)url.openConnection(); br=new BufferedReader(new InputStreamReader(con.getInputStream())); while((line=br.readLine())!=null){ sb.append(line); } }catch(Exception e){ e.printStackTrace(); }finally{ try { br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return sb.toString(); } /** * * @param urlstr * @param path * @param fileName * @return -1-error,0-success,1-file exist */publicint downloadMP3(String urlstr,String path,String fileName){ InputStream is=null; try{ FileUtils fileUtils=new FileUtils(); if(fileUtils.isFileExist(path+fileName)){ return 1; }else{ is=getInputStreamFromUrl(urlstr); File resultfile=fileUtils.write2SDFromInput(path, fileName, is); if(resultfile==null){ return -1; } } }catch(Exception e){ e.printStackTrace(); return -1; }finally{ try { is.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return 0; } private InputStream getInputStreamFromUrl(String urlstr) throws MalformedURLException,IOException{ URL url=new URL(urlstr); HttpURLConnection con=(HttpURLConnection)url.openConnection(); InputStream is=con.getInputStream(); return is; } }
原文:http://www.cnblogs.com/makefile/p/3561726.html
内容总结
以上是互联网集市为您收集整理的android下载简单工具类全部内容,希望文章能够帮你解决android下载简单工具类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。