一个下载线程

来源:互联网 发布:泰国红灯区 知乎 编辑:程序博客网 时间:2024/05/01 02:45
Thread run=new Thread(){ @Overridepublic void run() {InputStream is = null;   OutputStream fos = null;File file = new File(savePath);if(!file.exists()){   file.mkdirs();   }  try {   URL url = new URL(myurl);   URLConnection urlConn = url.openConnection(); is = urlConn.getInputStream();   int length = urlConn.getContentLength();   //文件大小   File oldFile = new File(savePath+fileName);if(oldFile.exists()){oldFile.delete();}fos = openFileOutput(fileName,Context.MODE_WORLD_READABLE);              int count = 0,numread = 0;   byte buf[] = new byte[1024];   while((numread = is.read(buf))!=-1){   count+=numread;   int progressCount =(int)(((float)count / length) * 100);changeProgress(progressCount);fos.write(buf, 0, numread);   }   fos.flush();  Message msg1 = newhandler.obtainMessage(1);newhandler.sendMessage(msg1);} catch (Exception e) {  e.printStackTrace();     }finally{   try {   if(fos!=null){fos.close();   }   if(is!=null)  {is.close();   } } catch (IOException e) {e.printStackTrace();   }   }}    };