我希望用戶選擇一個文本文件,以便應用程序可以讀取其內容。在onActivityResult我有以下代碼:Android:從URI獲取文本文件的路徑會帶來奇怪的路徑
filePath.getPath()帶來了這種怪異的路徑:/document/**1EEB-0A13:**Download/filename.txt
我不明白什麼是1EEB-0A13:,我幾乎可以肯定,沒有它,它就會工作。不用說,我得到一個例外,即沒有這樣的文件或目錄。
我看到很多關於如何獲得真實路徑的例子,但它們似乎與圖像有關。我嘗試了其中一個,但它拋出了一個異常。
我沒有解釋但請參考:https://stackoverflow.com/questions/5568874/how-to-extract-the -file-name-from-uri-returned-from-intent-action-get-content –
你應該看看filePath.toString()並且認識到它不是一個文件路徑,而是一個帶有內容方案的URI。使用內容方案而不是文件路徑。 – greenapps
'1EEB-0A13'是SD卡的USB標識符。放入一張不同的卡片,看看這個標識符是否改變。 – greenapps