当前位置: 代码迷 >> Android >> Android学习笔记_文件上载
  详细解决方案

Android学习笔记_文件上载

热度:57   发布时间:2016-05-01 17:27:39.0
Android学习笔记_文件下载

文件下载:
HttpURLConnection urlConn=(HttpURLConnection)url.openConnection();
urlConn.getInputStream()
例:
HttpDownloader.java
public class HttpDownloader {
   private URL url=null;
   public String download(String urlStr){
       StringBuffer sb=new StringBuffer();
       String line=null;
       BufferedReader buffer = null;
       try{
          url=new URL(urlStr);
          HttpURLConnection urlConn=(HttpURLConnection)url.openConnection();
          buffer=new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
          while((line=buffer.readLine())!=null){
              sb.append(line);
          }
       }catch(Exception e){
          e.printStackTrace();
       }finally{
          try{
          }catch(Exception e){
            e.printStackTrace();
          }
       }
       return sb.toString();
   }
   //-1: 下载出错  0:下载成功 1:文件已经存在
   pubblic int downFile(String urlStr,string path,String fileName){
       Inputstream inputStream=null;
       try{
          FileUtils fileUtils=new FileUtils();
          if(fileUtls.isFileExist(path+fileName)){
             return 1;
          }else{
             inputStream=getInputStreamFromUrl(urlStr);
             File resultFile=fileUtils.write2SDFromInput(path,fileName,inputStream);
             if(resultFile==null){
                  return -1;
             }
          }
       }catch(Exception e){
          e.printStackTrace();
          return -1;
       }finally{
          try{
             inputStream.close();
          }catch(Exception e){
             e.printStackTrace();
          }
       }
       return 0;
   }
  
}

public class FileUtils{
   private String SDPATH;
   public String getSDPATH(){
     return SDPATH;
   }
   public FileUtils(){
      SDPATH=Environment.getExternalStorageDirectory()+"/";
   }
   public File createSDFile(String fileName)throws IOException{
      File file=new File(SDPATH+fileName);
      file.createNewFile();
      return file;
   } 
   public File createSDDir(String dirName){
      File dir=new File(SDPATH+dirName);
      dir.mkdir();
      return dir;
   }
   public boolean isFileExist(String fileName){
      File file=new File(SDPATH+fileName);
      return file.exists();
   }
   public File write2SDFromInput(String path,String fileName,InputStream input){
      File file=null;
      OutputStream output=null;
      try{
          createSDDir(path);
          file=createSDFile(path_fileName);
          output=new FileOutputStream(file);
          byte buffer[]=new byte[4*1024];
          while((input.read(buffer))!=-1){
             output.write(buffer);
          }
          output.flush();
      }catch(Exception e){
          e.printStackTrace();
      }finally{
         try{
             output.close();
         }catch(Exception e){
             e.printStackTrace();
         }
      }
      return file;
   }
}
  相关解决方案