Android根据URL下载文件保存到SD卡
16lz
2021-12-04
package org.hpg.weather.download;import android.os.Environment;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;public class MainActivity extends ActionBarActivity { private static final String TAG = "MainActivity"; String downloadUrl = "http://down.androidonline.net/upload/apkoldown/xiaomibianqian.apk"; String picUrl ="http://img01.mifile.cn/images/accs/xmjsb_11.jpg"; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.download); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread(new Runnable() { @Override public void run() { download(); } }).start(); } }); } //下载具体操作 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(); } }}
更多相关文章
- android打开文件
- Android创建文件夹及文件并写入数据
- Android(安卓)USB通讯(完整版)
- Android(安卓)apps应用检查更新代码
- Android异常捕获防止崩溃弹框
- Android(安卓)Studio 1.0正式稳定版下载地址
- android手机端保存xml数据
- Android(安卓)Training - 使用IntentService执行任务(Lesson 1 -
- mac安装adb