2012-03-05 3 views
7

Am действительно frustated now..I хочет загрузить файл из Dropbox и сохранить этот файл в SDCARD..and я получил код, как:Скачать файл с Dropbox и сохранить его в SDCARD

 private boolean downloadDropboxFile(String dbPath, File localFile) throws IOException{ 

BufferedInputStream br = null; 
BufferedOutputStream bw = null; 

try { 
    if (!localFile.exists()) { 
     localFile.createNewFile(); //otherwise dropbox client will fail silently 
    } 

    FileDownload fd = api.getFileStream("dropbox", dbPath, null); 
    **br = new BufferedInputStream(fd.is);** 
    bw = new BufferedOutputStream(new FileOutputStream(localFile)); 

    byte[] buffer = new byte[4096]; 
    int read; 
    while (true) { 
    read = br.read(buffer); 
    if (read <= 0) { 
    break; 
    } 
    bw.write(buffer, 0, read); 
    } 
} finally { 
    //in finally block: 
    if (bw != null) { 
     bw.close(); 
    } 
    if (br != null) { 
     br.close(); 
    } 
} 

return true; 

}

Здесь я получаю сообщение об ошибке на бр = новые BufferedInputStream line..Pls помочь

+0

Просьба также скопировать/вставить ошибку и stacktrace. –

+0

У меня есть копия, наклеенная на этот код по ссылке: http: //stackoverflow.com/questions/6180926/android-dropbox-api-file-download...And В моем коде не распознается «fd.is» – Kanika

+0

Вы уверен, что 'fd.is! = null'? –

ответ

13

Я нашел способ:

 File file= new File("/sdcard/New_csv_file.csv"); 
     OutputStream out= null; 
     boolean result=false; 
     try { 
      out = new BufferedOutputStream(new FileOutputStream(file)); 
     } catch (FileNotFoundException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
     try { 
       DropboxFileInfo info = mApi.getFile("/photos/New_csv_file.csv", null, out, null); 
       Log.i("DbExampleLog", "The file's rev is: " + info.getMetadata().rev); 
       Intent JumpToParseCSV=new Intent(context,ParseCSV.class); 
       JumpToParseCSV.putExtra("FileName", file.getAbsolutePath()); 
       Log.i("path", "FileName"+ file.getAbsolutePath()); 
       ((Activity) context).finish(); 
       context.startActivity(JumpToParseCSV); 
       result=true; 
      } catch (DropboxException e) { 
       Log.e("DbExampleLog", "Something went wrong while downloading."); 
       file.delete(); 
       result=false; 
      } 


    return result; 

Спасибо всем ....

+0

Что здесь делает класс ParseCvs? –

Смежные вопросы