当前位置: 移动技术网 > IT编程>移动开发>Android > Android 将文件下载到指定目录的实现代码

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

小苏打美白牙齿吗,上海长宁区邮编,含沙射影什么意思

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

/**
   * 下载指定路径的文件,并写入到指定的位置
   *
   * @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 将文件下载到指定目录的实现代码,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网