Android 将文件下载到指定目录的实现代码

发布时间 - 2026-01-11 02:01:34    点击率:

废话不多说了额,直接给大家贴代码了,具体代码如下所示:

/**
   * 下载指定路径的文件,并写入到指定的位置
   *
   * @param dirName
   * @param fileName
   * @param urlStr
   * @return 返回0表示下载成功,返回1表示下载出错
   */
  public int downloadFile(String dirName, String fileName, String urlStr) {
    OutputStream output = null;
    try {
      //将字符串形式的path,转换成一个url
      URL url = new URL(urlStr);
      //得到url之后,将要开始连接网络,以为是连接网络的具体代码
      //首先,实例化一个HTTP连接对象conn
      HttpURLConnection conn = (HttpURLConnection) url.openConnection();
      //定义请求方式为GET,其中GET的大小写不要搞错了。
      conn.setRequestMethod("GET");
      //定义请求时间,在ANDROID中最好是不好超过10秒。否则将被系统回收。
      conn.setConnectTimeout(6 * 1000);
      //请求成功之后,服务器会返回一个响应码。如果是GET方式请求,服务器返回的响应码是200,post请求服务器返回的响应码是206(貌似)。
      if (conn.getResponseCode() == 200) {
        //返回码为真
        //从服务器传递过来数据,是一个输入的动作。定义一个输入流,获取从服务器返回的数据
        InputStream input = conn.getInputStream();
        File file = createFile(dirName + fileName);
        output = new FileOutputStream(file);
        //读取大文件
        byte[] buffer = new byte[1024];
        //记录读取内容
        int n = input.read(buffer);
          //写入文件
          output.write(buffer, 0, n);
          n = input.read(buffer);
        }
        output.flush();
         input.close();
      }
    } catch (MalformedURLException e) {
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      try {
        output.close();
        System.out.println("success");
        return 0;
      } catch (IOException e) {
        System.out.println("fail");
        e.printStackTrace();
      }
    }
    return 1;
  }
  /**
   * 在SD卡的指定目录上创建文件
   *
   * @param fileName
   */
  public File createFile(String fileName) {
    File file = new File(fileName);
    try {
      file.createNewFile();
    } catch (IOException e) {
      e.printStackTrace();
    }
    return file;
  }

以上所述是小编给大家介绍的Android 将文件下载到指定目录的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android  # 文件下载指定目录  # 文件目录  # Android文件下载进度条的实现代码  # Android zip文件下载和解压实例  # Android实现文件下载进度显示功能  # Android 文件下载三种基本方式  # Android实现简单的文件下载与上传  # Android Retrofit文件下载进度显示问题的解决方法  # Android文件下载功能实现代码  # Android基于HttpUrlConnection类的文件下载实例代码  # android实现文件下载功能  # Android简单实现文件下载  # 给大家  # 小编  # 是一个  # 在此  # 说了  # 不多  # 错了  # 将被  # 所示  # 转换成  # 所述  # 给我留言  # 感谢大家  # 要搞  # 疑问请  # 有任何  # 大文件  # path  # createNewFile  # url 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  零基础网站服务器架设实战:轻量应用与域名解析配置指南  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何基于云服务器快速搭建个人网站?  教你用AI润色文章,让你的文字表达更专业  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  如何用虚拟主机快速搭建网站?详细步骤解析  如何在景安云服务器上绑定域名并配置虚拟主机?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  如何用IIS7快速搭建并优化网站站点?  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  JS实现鼠标移上去显示图片或微信二维码  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  jQuery 常见小例汇总  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Laravel如何实现数据库事务?(DB Facade示例)  如何挑选最适合建站的高性能VPS主机?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  长沙做网站要多少钱,长沙国安网络怎么样?  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Laravel如何自定义错误页面(404, 500)?(代码示例)  java获取注册ip实例  Laravel如何实现事件和监听器?(Event & Listener实战)  Laravel怎么使用Intervention Image库处理图片上传和缩放  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Python3.6正式版新特性预览  Python数据仓库与ETL构建实战_Airflow调度流程详解  HTML 中如何正确使用模板变量为元素的 name 属性赋值  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  北京网站制作公司哪家好一点,北京租房网站有哪些?  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  电商网站制作价格怎么算,网上拍卖流程以及规则?  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  Python结构化数据采集_字段抽取解析【教程】  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何在橙子建站上传落地页?操作指南详解  制作电商网页,电商供应链怎么做?  PHP正则匹配日期和时间(时间戳转换)的实例代码