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

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. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);btn = (Button) findViewById(R.id.btn1);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {new Thread(runnable).start();}});}private Runnable runnable = new Runnable() {@Overridepublic 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) { // 获取内容长度为0throw 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();}}};}

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

更多相关文章

  1. 安卓微信第三方登陆
  2. java android 删除文件和文件夹的函数
  3. 安装Android(安卓)SDK
  4. Android:网络图片Url 转 Bitmap
  5. Android设计开发要必用的Color.xml文件整理
  6. Android使用本地缓存解析远程服务器JSON数据
  7. Android中java.lang.ClassNotFoundException: ***.**** in loade
  8. Android中取消系统标题栏的几种方式
  9. Android中的SharedPreference源码整理总结

随机推荐

  1. Ubuntu上编译Android过程
  2. ANDROID Porting系列九、Lights
  3. XML中的命名空间问题
  4. Android内核编译
  5. Android(安卓)日志系统(Logcat)的实现分
  6. Android(安卓)AES加密算法,现在实际上
  7. android:configChanges属性
  8. android 按钮设计中state_selected属性
  9. Activity的四种启动模式和onNewIntent()
  10. Android在代码中设置drawableLeft(Right/