2017-07-05 2 views
0

Box Android SDKを使用してファイルをダウンロードしようとしています。問題は、destinationFileパラメータを使用しているようです。 box.comの呼び出しは、destinationFileが存在するかどうかをチェックしていますが、なぜですか?私はjava.io.FileNotFoundExceptionを取得します。box.comからファイルをダウンロードする際の例外 - Android

destinationFile = new File(getFilesDir(), "myfile.crs"); 
     // destinationFile = new File(getFilesDir(),"/"); 
     try { 
      BoxDownload fileDownload = mFileApi.getDownloadRequest(destinationFile, fileID) 
        // Optional: Set a listener to track download progress. 
        .setProgressListener(new ProgressListener() { 
         @Override 
         public void onProgressChanged(long numBytes, long totalBytes) { 
          // Update a progress bar, etc. 
         } 
        }) 
        .send(); 
     } catch (BoxException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
+0

例外はありますか?ファイルが見つかりません。そのファイルは、期待した場所にない可能性が高いので、コードをステップして確認してください。 – Dayan

+0

はい、それは私には意味がありません。私はbox.comからファイルをダウンロードしようとしています。なぜ最初の行がチェックして例外をスローするのですか?もちろん存在しません。ダウンロードする必要があります。パブリックBoxRequestsFile.DownloadFile getDownloadRequest(File target、String fileId)throws IOException { if(!target.exists()){ throw new FileNotFoundException(); } BoxRequestsFile.DownloadFile request = new BoxRequestsFile.DownloadFile(target、getFileDownloadUrl(fileId)、mSession); リターンリクエスト。 } –

+0

誰かがファイルをダウンロードするためにAndroidで作業するボックスを持っていますか? –

答えて

0

答えは新しいファイルを作成することでした。その後、Fileインスタンスで.createNewFile()を呼び出します。その後、バックグラウンドで実行する以外は、すべてのコードを呼び出します。それが私がここで尋ねてきた理由です。私はAndroid用に間違ったことをしているのかどうか疑問に思っていました。ボックスネットワーキング操作はスレッド上で行う必要があります。 ファイルをダウンロードしてもこれが表示されないことがあります。あまりにも悪いことに、Web上にAndroid DSKを使用してファイルをダウンロードする例はありません。

0

あなたが見つかったファイルへの可能性が最も高いのすべてのチェック

Log.i(getClass().getName(),"Does File exists:"+(destinationFile.exists()?"Yes":"No")); 
     Log.i(getClass().getName(),"Is it A file:"+(destinationFile.isFile()?"Yes":"No")); 
     Log.i(getClass().getName(),"Is it Writable:"+(destinationFile.canWrite()?"Yes":"No")); 
     Log.i(getClass().getName(),"Is it A Readable:"+(destinationFile.canRead()?"Yes":"No")); 
     Log.i(getClass().getName(),"Path:"+destinationFile.getAbsolutePath()); 

は、それを使用する前にこれを行う存在しませんすることができません。

if(!destinationFile.exists()){ 
      try { 
       destinationFile.createNewFile(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
+0

私は何かが明らかに欠けている必要があります。私がcreateNewFile()を呼び出すと、 "予期しないボックス例外"が発生します。 –

関連する問題