`
hilary3113
  • 浏览: 262677 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸
社区版块
存档分类
最新评论

android 文件下载到SD卡中

阅读更多

我下载文件时,需要访问网络,在这里,添加了个线程

package com.action;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Main extends Activity {
	private Button btn;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		btn = (Button) findViewById(R.id.btn1);
		btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				new Thread(runnable).start();
			}
		});
	}

	private Runnable runnable = new Runnable() {
		@Override
		public void run() {
			try {
				String fileName = Environment.getExternalStorageDirectory()
						.getAbsolutePath()
						+ "/img3.jpg";
				System.out.println("fileName:" + fileName);
				String url = "http://hiphotos.baidu.com/%B7%E5%B7%E5%CD%C3/pic/item/769ab3eec5ce730c2cf534a1.jpg";
				URL Url = new URL(url);
				URLConnection conn = Url.openConnection();
				conn.connect();
				InputStream is = conn.getInputStream();
				int fileSize = conn.getContentLength();
				if (fileSize <= 0) { // 获取内容长度为0
					throw new RuntimeException("无法获知文件大小 ");
				}
				if (is == null) { // 没有下载流
					throw new RuntimeException("无法获取文件");
				}
				FileOutputStream fos = new FileOutputStream(fileName); // 创建写入文件内存流,通过此流向目标写文件
				byte buf[] = new byte[1024];
				int downLoadFilePosition = 0;
				int numread;
				while ((numread = is.read(buf)) != -1) {
					fos.write(buf, 0, numread);
					downLoadFilePosition += numread;
				}
				is.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	};
}

 下载文件时,需要访问网络,需要配置访问网络权限

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics