// /////////////////////////////////下载文件功能如下////////////////////////////////// private void DownFile(String urlString) { /* * 连接到服务器 */ double FileLength = 0; double DownedFileLength = 0; InputStream inputStream = null; URLConnection connection = null; OutputStream outputStream = null; try { URL url = new URL(urlString); connection = url.openConnection(); if (connection.getReadTimeout() == 5) { Log.i("---------->", "当前网络有问题"); } inputStream = connection.getInputStream(); } catch (MalformedURLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } /* * 文件的保存路径和和文件名其中Nobody.mp3是在手机SD卡上要保存的路径,如果不存在则新建 */ String savePAth = Environment.getExternalStorageDirectory() + "/lzmDownload"; File file1 = new File(savePAth); if (!file1.exists()) { file1.mkdir(); } String savePathString = Environment.getExternalStorageDirectory() + "/lzmDownload/" + "test.png"; File file = new File(savePathString); try { L.l("======================newFile:" + file.createNewFile()); file.createNewFile(); L.l("======================newFile:" + file.createNewFile()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } /* * 向SD卡中写入文件,用Handle传递线程 */ Message message = new Message(); try { outputStream = new FileOutputStream(file); byte[] buffer = new byte[1024 * 4]; FileLength = connection.getContentLength(); L.l("==================FileSize:" + FileLength); message.what = 0; handler.sendMessage(message); while (DownedFileLength < FileLength) { outputStream.write(buffer); DownedFileLength += inputStream.read(buffer); i = (int) (((double) DownedFileLength / FileLength) * 100); Message message1 = new Message(); message1.what = 1; // downloading... the file handler.sendMessage(message1); } Message message2 = new Message(); // finish the download message2.what = 2; handler.sendMessage(message2); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // ///////////////////如上为一个下载类/////////////////////////////////////////////