文件下载:1、文本文件下载 2、其他类型文件下载

文本下载步骤:
1.首先就是取得与服务器的连接,通过要下载的文本文件URL,创建一个URL对象

2.通过URL对象,创建一个HttpURLConnection对象

3.得到InputStream

4.从InputStream当中读取数据

private URL url = null;public String download(String urlStr){  StringBuffer sb = new StringBuffer();  String line = null;  BufferedReader buffer = null;  try{     url = new URL(urlStr);     HttpURLConncetion urlConn = (HttpURLConnection)url.openConnection();     buffer = newBufferedReader(new InputStreamReader(urlConn.getInputStream())); while((line = buffer.readline()) != null){sb.append(line); }  }catch(Exception e){e.printStackTrace();  }finally{try {buffer.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return sb.toString();}
其他类型文件的下载步骤:
1.首先判断文件是否存在,若不存在则继续
2.从文件的URL中获取InputStream
3.利用OutputStream写入文件,写入结束清除缓存OutputStream.flush();

public File write2SDFromInput(String path,String fileName,InputStream input){File file = null;OutputStream output = null;//用InputStream接收,OutputStream写入文件try {creatSDDir(path);file = creatSDFile( path + fileName);output = new FileOutputStream(file);    //创建一个向指定 File 对象表示的文件中写入数据的文件输出流。创建一个新 FileDescriptor 对象来表示此文件连接。 byte buffer [] = new byte[4 * 1024];//以4K为单位,每4K写一次while((input.read(buffer)) != -1){//如果因为已经到达流末尾而没有可用的字节,则返回值 -1output.write(buffer);}output.flush();//清空一下缓存} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {output.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return file;}



更多相关文章

  1. Android导入工程出现 Project has no default.properties file!
  2. 分析通话记录信息是通过什么写入的 android 源码 保存通话记录
  3. LeakCanary
  4. Android(安卓)Studio之Gradle基础
  5. Android(安卓)studio 生成 lib.so
  6. 向sdcard中添加文件出错
  7. android小记之FTP文件上传
  8. Android类参考---Fragment(五)
  9. Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原

随机推荐

  1. Android(安卓)Activity生命周期回顾
  2. Android自动滚动 轮播循环的ViewPager
  3. 如何在低版本的Android(安卓)SDK中生成缩
  4. Android工程使用SVG图片
  5. window 下 利用gradle编译volley源代码
  6. 获取Android(安卓)光感Sensor的值
  7. Android(安卓)Permission denied(不允许
  8. 如何移植library到Android
  9. android popupwindow问题及里面的listvie
  10. AndroidMainfest.xml文件中的android属性