2015-05-18 142 views
1

我不是經驗豐富的Java/Android開發人員,我試圖使用Dropbox API檢查Dropbox上是否存在文件。使用Android Dropbox API檢查Dropbox上的文件是否存在

我無法找到API中的任何方法來檢查它。我發現如何做到這一點的唯一方法是使用try ... catch並捕獲DropboxServerException,在我看來這很醜陋。

有沒有更好的方法,如if (file.exists),檢查文件是否存在?

謝謝!

+0

你能分享你試過的代碼嗎?另外,'try-catch'只是用於錯誤處理,所以如果你的代碼失敗了,你可以正確處理'exception'。通常你可以在可能失敗的塊中使用'try-catch'es(如連接到互聯網,讀/寫文件等)。 –

回答

0

調用metadata並尋找404響應的異常可能是檢查Dropbox中單個文件是否存在的最佳方法。

取決於你想要做什麼,有可能更好的方法:

  1. 如果你反正枚舉所有文件(例如,使用三角),那麼就沒有必要詢問服務器是否一文件存在,因爲你可以跟蹤自己。
  2. 如果您正在嘗試讀取該文件,請繼續嘗試讀取該文件(並在不存在的情況下處理該異常)。

注意,這種(僞)代碼始終是越野車:

if (file.exists()) { 
    file.read(); 
} 

如果該文件是當你檢查它的存在,當你嘗試閱讀之間刪除了會發生什麼?當你嘗試讀取文件時,你會得到一個404和一個異常。所以你需要處理這些代碼......這意味着第一次檢查文件存在對你沒有任何幫助。你可以跳過它(和相應的往返服務器)。

+0

結束使用try ... catch ...仍然不喜歡它,但我想這是java的方式... –

相關問題