我有一個應用程序必須在可移動的SD卡上創建文件和目錄。我使用DocumentFile API。在大多數情況下,它的工作原理:)但我發現一個情況下至極沒有(至少在三星GS7)工作:DocumentFile:創建特定目錄名稱的問題
我無法創建一個名爲「R.E.M.」(不帶引號)目錄。
測試案例:我正在目錄「/ storage/9C33-6BBD/Xxxx」中工作,我想創建目錄「R.E.M.」
DocumentFile parentDf;
// init of parentDf to point to /storage/9C33-6BBD/Xxxx
DocumentFile remDf = df.createDirectory("R.E.M.");
if(remDf == null)
displayMessage("failure");
else
displayMessage("success");
這將顯示 「成功」,所以我很高興。後者我想在這個目錄中創建一個文件:「R.E.M./myfile」。
DocumentFile parentDf;
// init of parentDf to point to /storage/9C33-6BBD/Xxxx
DocumentFile remDf = parentDf.findFile("R.E.M.");
if(remDf == null) {
displayMessage("failure : R.E.M. doesn't exists");
return false;
}
DocumentFile myfileDf = remDf.createFile("text/plain","myfile");
if(remDf == null)
displayMessage("failure");
else
displayMessage("success");
這將顯示 「失敗:REM不存在」
所以我列出的文件與DocumentFile.listFiles看:(!最後的點已經消失) 「REM」
如果我這樣做(new File("/storage/9C33-6BBD/Xxxx/R.E.M.")).exists()
它返回true!
如果我參加了「亞殼」
hero2lte:/storage/9C33-6BBD/Xxxx $ ls -la
total 768
drwxrwx--x 3 root sdcard_rw 131072 2017-07-19 14:18 .
drwxrwx--x 17 root sdcard_rw 131072 2017-07-19 13:31 ..
drwxrwx--x 2 root sdcard_rw 131072 2017-07-19 13:46 R.E.M
hero2lte:/storage/9C33-6BBD/Xxxx $ ls -lad R.E.M.
drwxrwx--x 2 root sdcard_rw 131072 2017-07-19 13:46 R.E.M.
有誰知道在哪裏可以找到有關目錄的顯示名限制文件看看嗎?
謝謝:)
這些限制取決於存儲提供商。我不知道有任何存儲提供者記錄了它將會接受和不會接受的內容。 – CommonsWare