В Android можно ли переместить файл в личный каталог приложения? - PullRequest
0 голосов
/ 01 октября 2019

У меня есть файл в каталоге загрузок. Давайте назовем его OldFile класса File.

Кажется, я переместил его куда угодно, используя OldFile.renameTo(File(some new file path)), ЕСЛИ БЕЗ нового пути к файлу находится в каталоге личных файлов приложения, полученном из context.filesDir.

Этот фрагмент кода Kotlin работает, например:

val newFileLocation = File(Environment.getExternalStorageDirectory().absolutePath + "/test.txt")
oldFile.renameTo(newFileLocation)

, но этот фрагмент завершается сбоем без каких-либо исключений, не исключая ничего, оставляя oldFile полностью неизменным:

val newFileLocation = File(context?.filesDir?.absolutePath + "/test.txt")
oldFile.renameTo(newFileLocation)

Isесть какое-то правило против использования File.renameTo для перемещения файла в путь filesDir?

Как мне это сделать?

спасибо

Джон

1 Ответ

1 голос
/ 01 октября 2019

RenameTo () работает только для файлов в одном и том же «разделе».

Очевидно, getFilesDir () находится в другом разделе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...