android中文件下载

来源:互联网 发布:windows pe如何分区 编辑:程序博客网 时间:2024/05/01 16:18

1、在android中我门经常会用到下载网络上的某个文件。那怎么实现呢? 如下

    public void  DownMP3(){
            String urlStr="http://192.168.18.204:8210/jxms/wechat/fileDownload?fileSign=2016-05-09_2045d8a1-d520-485d-afc0-ccf7b0b2f2f3&msgType=video"; 
         
             OutputStream output=null; 
             try { 
                 /*
                  * 通过URL取得HttpURLConnection
                  * 要网络连接成功,需在AndroidMainfest.xml中进行权限配置
                  * <uses-permission android:name="android.permission.INTERNET" />
                  */ 
                 URL url=new URL(urlStr); 
                 HttpURLConnection conn=(HttpURLConnection)url.openConnection(); 
                 //取得inputStream,并将流中的信息写入SDCard 
                  
                 /*
                  * 写前准备
                  * 1.在AndroidMainfest.xml中进行权限配置
                  * <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
                  * 取得写入SDCard的权限
                  * 2.取得SDCard的路径: Environment.getExternalStorageDirectory()
                  * 3.检查要保存的文件上是否已经存在
                  * 4.不存在,新建文件夹,新建文件
                  * 5.将input流中的信息写入SDCard
                  * 6.关闭流
                  */ 
             
                  
                 File file=new File(pathName); 
                 InputStream input=conn.getInputStream(); 
                 if(file.exists()){ 
                  
                     return; 
                 }else{ 
                     String dir=SDCard+"/"+path; 
                     new File(dir).mkdir();//新建文件夹 
                  
                   
                     file.createNewFile();//新建文件 
                     output=new FileOutputStream(file); 
                     //读取大文件 
                     byte[] buffer=new byte[4*1024]; 
                     while(input.read(buffer)!=-1){ 
                         output.write(buffer); 
                     } 
                     output.flush(); 
                 } 
             } catch (MalformedURLException e) { 
                 e.printStackTrace(); 
             } catch (IOException e) { 
                 e.printStackTrace(); 
             }finally{ 
                 try { 
                  if(output!=null){
                      output.close(); 
                  }
                
                     } catch (IOException e) {  
                         e.printStackTrace(); 
                     } 
             } 
         } 

文件下载的类封装好了,剩下的就是 调用了。。。



0 0
原创粉丝点击