Удалить файл в каталоге данных

У меня та же проблема, что и в Android, удалить файлы из моего каталога данных?

Но это не работает для меня.

String sourcefile = getFilesDir().toString() + "/aaa.jpk";
File file = new File(sourcefile);
file.delete();

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

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

так что не проблема. Эта строка приводит меня к файлу:

data/data/com.example.program/files/aaa.jpk

Где моя проблема на самом деле? Я не могу понять это.

Код для скачивания файла:

 dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
 Uri resource = Uri.parse("http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml");
 DownloadManager.Request request = new DownloadManager.Request(resource);
 request.setAllowedNetworkTypes(Request.NETWORK_MOBILE | Request.NETWORK_WIFI);
 request.setDestinationInExternalFilesDir(getApplicationContext(), null, "aaa");
 request.setAllowedOverRoaming(false);
 request.setTitle("a.xml");

 dm.enqueue(request);

2 ответа

Решение

Никогда не используйте конкатенацию для создания пути. использование File file=new File(getFilesDir(), "aaa.jpk"); и посмотрим, поможет ли это. Обратите внимание, что ваши разрешения здесь не имеют значения, так как вы работаете с внутренним хранилищем, а не с внешним хранилищем.

Использование эмулятора терминала на рутированном телефоне / планшете не проблема, просто "cd" в папку, содержащую файл, а затем "su", чтобы запросить root-доступ, и "rm aaa.jpk" удалит файл.

ЗДЕСЬ вы найдете подробную информацию о том, как использовать эмулятор терминала и команды ADB

Другие вопросы по тегам