Удалить файл в каталоге данных
У меня та же проблема, что и в 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