2011-11-13 51 views
5

我需要在android文件系統中將文件從一個目錄移動到另一個目錄。我如何以編程方式檢查兩條路徑是否在同一個掛載點上?如何檢查兩個路徑是否在同一個掛載點上?

我想知道這個的原因是因爲如果他們是,我們需要複製位而不是使用File.rename(newPath)

實施例時的路徑是不同的安裝點:

  • 用戶想從內部文件移動到外部存儲器。

  • 用戶想要將文件從/ sdcard/files移動到samsungdevice上的/ sdcard/external_sd/files。

回答

2

之一,以確定方式,也文件系統中的文件從Android應用程序內駐留在:

  • 通過調用File.getCanonicalPath()就可以獲取該文件的規範路徑。

  • 然後得到當前安裝的文件系統的目錄從/ proc /坐騎

  • ,並找到該安裝點的路徑是有問題的文件的規範路徑最完整的字符串匹配&其掛載點的路徑,這應該給你文件的掛載點/文件系統。

比較兩個文件的結果。

5

請致電File.rename。如果成功,它們位於相同的掛載點。

+2

這是一條路。但是如果失敗 - 可能是因爲其他原因而不是在不同的掛載點上。 –

+2

我懷疑這件事。無論出於何種原因,它都會失敗,您幾乎會想要做同樣的事情 - 只有在失敗時才嘗試自己複製並報告錯誤。 –

相關問題