博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 从网上下载文件
阅读量:5075 次
发布时间:2019-06-12

本文共 1414 字,大约阅读时间需要 4 分钟。

android中如何从网上下载文件源码

String FileName=null;

public void downFile(String url, String path, String fileName) throws IOException {  

  if (fileName == null || fileName == "")   
     this.FileName = url.substring(url.lastIndexOf("/") + 1);   
   else  
      this.FileName = fileName; // 取得文件名,如果输入新文件名,则使用新文件名  
   
  URL Url = new URL(url);  
  URLConnection conn = Url.openConnection();  
  conn.connect();  
  InputStream is = conn.getInputStream();  //得到网络相应的内容
 
  this.fileSize = conn.getContentLength();// 根据响应获取文件大小   
 
  if (this.fileSize <= 0) { // 获取内容长度为0
     throw new RuntimeException("无法获知文件大小 ");  
  }  
 
  if (is == null) { // 没有下载流    
       throw new RuntimeException("无法获取文件");  
  } 
  //String finema = Environment.getExternalStorageDirectory()+"/ww.jpg";
  //Log.e("path",finema);
  FileOutputStream FOS = new FileOutputStream(fileName); // 创建写入文件内存流,通过此流向目标写文件   
    byte buf[] = new byte[1024];     //开辟缓存,保存文件
  int numread;   
  while ((numread = is.read(buf)) != -1) {
     FOS.write(buf, 0, numread);   //将文件逐 byte写入
  }   
 
  try {  
    is.close();  
  } catch (Exception e) {         
  }      
}

补充说明:1、path处,我最早是直接用的"/sdcard/",但是一直报错java.io.FileNotFoundException:....Read-Only File System,不知为什么。后改为path=Environment.getExternalStorageDirectory()+"/ww.jpg";成功 。

         2、联网要在Mainfest中加权限:<uses-permission android:name="android.permission.INTERNET"></uses-permission>

对SDCARD的操作:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>           

转载于:https://www.cnblogs.com/wyqfighting/archive/2012/09/20/2694890.html

你可能感兴趣的文章
转:InnoDB多版本(MVCC)实现简要分析
查看>>
9 普通索引和唯一索引,应该怎么选择?
查看>>
根据浏览器判断是下载IOS还是其它的手机安装包
查看>>
SQL取数据库名,取表名,取列名
查看>>
Java学习——使用final修饰符
查看>>
java实验五——字符数组、String、StringBuffer的相互转化,StringBuffer的一些方法
查看>>
RMAN 异机恢复
查看>>
【原创】MySql 数据库导入导出(备份)
查看>>
【C#】调用2.0踩过的坑
查看>>
golang 读取一行
查看>>
为没有强名称的程序集添加强名称
查看>>
邮件实现详解(一)------邮件发送的基本过程与概念
查看>>
cacti 与 nagios 一些总结 【六】
查看>>
xilinx中的DCM与PLL
查看>>
AC日记——字符串判等 openjudge 1.7 17
查看>>
ES6 Template String 模板字符串
查看>>
Gradle for Android
查看>>
【java】详解I/O流
查看>>
concat的应用
查看>>
剑指Offer——用两个栈实现队列
查看>>