Android URL 下载文件

 首先需要一个线程。
 new Thread(new Runnable() {
           @Override
           public void run() {
               try {
                   URL url = new URL(entity.getUrl());
                   //打开连接
                   URLConnection conn = url.openConnection();
                   //打开输入流
                   InputStream is = conn.getInputStream();
                   //获得长度
                   int contentLength = conn.getContentLength();
                   //创建文件夹 MyDownLoad,在存储卡下
                   String dirName = context.getExternalFilesDir(null).getPath() + "/MyDownLoad/";
                   File file = new File(dirName);
                   //不存在创建
                   if (!file.exists()) {
                       file.mkdir();
                   }
                   //下载后的文件名
                   String fileName = dirName + entity.getTitle() +".mp3";
                   File file1 = new File(fileName);
                   if (file1.exists()) {
                       file1.delete();
                   }
                   //创建字节流
                   byte[] bs = new byte[1024];
                   int len;
                   OutputStream os = new FileOutputStream(fileName);
                   //写数据
                   while ((len = is.read(bs)) != -1) {
                       os.write(bs, 0, len);
                   }
                   //完成后关闭流
                   os.close();
                   is.close();
                   Log.e("run", "下载完成了~" + dirName );
               } catch (Exception e) {
                   e.printStackTrace();
               }
           }
       }).start();

你可能感兴趣的:(android,开发)