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

所属分类: 软件编程 / Android 阅读数: 47
收藏 0 赞 0 分享

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

/**
   * 下载指定路径的文件,并写入到指定的位置
   *
   * @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样式和主题之选择器的实例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

Android应用动态修改主题的方法示例

今天小编就为大家分享一篇关于Android应用动态修改主题的方法示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

Flutter 网络请求框架封装详解

这篇文章主要介绍了Flutter 网络请求框架封装详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Flutter倒计时/计时器的实现代码

这篇文章主要介绍了Flutter倒计时/计时器的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android使用google breakpad捕获分析native cash

这篇文章主要介绍了Android使用google breakpad捕获分析native cash 的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Flutter WebView与JS互相调用简易指南

这篇文章主要介绍了详解Flutter WebView与JS互相调用简易指南,分为JS调用Flutter和Flutter调用JS,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Android开发实现ListView和adapter配合显示图片和文字列表功能示例

这篇文章主要介绍了Android开发实现ListView和adapter配合显示图片和文字列表功能,涉及Android使用ListView结合adapter适配器实现图文显示功能相关的布局、解析、权限控制等操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Android文字基线Baseline算法的使用讲解

今天小编就为大家分享一篇关于Android文字基线Baseline算法的使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

Flutter自定义实现神奇动效的卡片切换视图的示例代码

这篇文章主要介绍了Flutter自定义实现神奇动效的卡片切换视图的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Android实现自定义滑动刻度尺方法示例

这篇文章主要给大家介绍了关于Android实现自定义滑动刻度尺的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享
查看更多