Я использовал getFilesDir () для создания папки в каталоге приложения, он дает путь к каталогу приложения следующим образом
/ data / data / {мой пакет приложения} / файлы
Но когда я использую его для создания новой папки, используя
File folder = new File(getFilesDir()
+ "/MyFolder");
if (!folder.exists()) {
folder.mkdir();
}
Я не вижу ни одной папки. Также, когда я открываю ES Explorer , фактический путь к каталогу приложения
/ Android / data / {имя моего пакета} / files
У меня вопрос, как создать папку в каталоге приложения, чтобы ее можно было автоматически удалить при удалении приложения.
2 ответа
Используйте метод Context.getDir()
вместо этого. Вам не нужно вызывать mkdirs()
, потому что getDir()
сделает это автоматически.
Цитата из документации:
Получите, создав, если необходимо, новый каталог, в который приложение может разместить свои собственные файлы данных. Вы можете использовать возвращенный объект File для создания файлов в этом каталоге и доступа к ним. Обратите внимание, что файлы, созданные с помощью объекта File, будут доступны только для вашего собственного приложения; вы можете установить режим только для всего каталога, а не для отдельных файлов.
Используйте это, используя getDir()
File dir = ctx.getDir("my_sub_dir", Context.MODE_PRIVATE);
File newfile = new File(topDirFile.getAbsolutePath() + File.separator + "new_file_name");
newfile.createNewFile();
BufferedOutputStream fout = new BufferedOutputStream(new FileOutputStream(newfile));
Похожие вопросы
Связанные вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.