欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-07-11 23:14:16
废话不多说了额,直接给大家贴代码了,具体代码如下所示: /** * 下载指定路径的文件,并写入到指定的位置 * * @param dirn...

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

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