- //下载具体操作
- private void download() {
- try {
- URL url = new URL(downloadUrl);
- //打开连接
- URLConnection conn = url.openConnection();
- //打开输入流
- InputStream is = conn.getInputStream();
- //获得长度
- int contentLength = conn.getContentLength();
- Log.e(TAG, "contentLength = " + contentLength);
- //创建文件夹 MyDownLoad,在存储卡下
- String dirName = Environment.getExternalStorageDirectory() + "/MyDownLoad/";
- File file = new File(dirName);
- //不存在创建
- if (!file.exists()) {
- file.mkdir();
- }
- //下载后的文件名
- String fileName = dirName + "xiaomibianqian.apk";
- 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);
- }
- //完成后关闭流
- Log.e(TAG, "download-finish");
- os.close();
- is.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- String dirName = Environment.getExternalStorageDirectory() + "/MyDownLoad/";
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>