Файл не найден исключение: (файл существует) — после его удаления вручную

#java #android #filenotfoundexception

Вопрос:

Я наткнулся на проблему, которая меня озадачила. Я пишу приложение, которое создает mp3-файлы на внешнем накопителе. Дело в том, что если я вручную перейду в созданный каталог на телефоне и удалю файл, всякий раз, когда я пытаюсь создать тот же файл, он выдает эту ошибку:

исключение java.io.FileNotFoundException: /хранилище/эмулировано/0/Рингтоны/звук1.mp3: открыть не удалось: СУЩЕСТВУЕТ (файл существует)

Выбор других звуков для создания работает просто отлично, но после того, как я удалю их вручную, они не могут быть созданы снова из-за этой проблемы.

Я уже пытался удалить файл сразу после указания пути и перед выводом файла, но это не сработало.

Какие-нибудь советы? Ваше здоровье.

Комментарии:

1. Устройство Android 11? Может быть, используемый файловый менеджер (если вы это имеете в виду вручную) удалил файл, но не запись в хранилище МУЛЬТИМЕДИА.

2. Точно. Android 11, попытался удалить его с помощью файлового менеджера, чтобы проверить, как вело себя приложение, видимо, есть еще что-то, на что следует обратить внимание. Я посмотрю документацию MediaStore. Спасибо.

Ответ №1:

Нашел ответ, следуя подсказке пользователя blackapps. Я также изменил каталог, так как использовал устаревшую ссылку. Теперь он работает так, как планировалось для sdk 30.