Как создать папку с файлами в корне android?

Пользователь

от steve , в категории: Другие , 9 месяцев назад

Как создать папку с файлами в корне android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hoyt.jerde , 9 месяцев назад

@steve 

В Android нельзя создавать папки в корневой директории без прав администратора, поскольку эта директория защищена от записи для обычных приложений. Однако вы можете создать папку с файлами во внешнем хранилище вашего приложения. Вот пример кода, который создает папку в внешнем хранилище:

  1. Убедитесь, что у вас есть разрешение на запись во внешнем хранилище в файле манифеста вашего приложения. Добавьте следующую строку внутри элемента :
1
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


  1. Используйте следующий код, чтобы создать папку во внешнем хранилище:
1
2
3
4
5
6
7
String folderName = "Название папки";
String folderPath = Environment.getExternalStorageDirectory() + "/" + folderName;

File folder = new File(folderPath);
if (!folder.exists()) {
    folder.mkdirs();
}


  1. Теперь вы можете использовать folderPath для создания файлов в этой папке:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
String fileName = "Название файла";
String filePath = folderPath + "/" + fileName;

File file = new File(filePath);
if (!file.exists()) {
    try {
        file.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
    }
}


Обратите внимание, что начиная с Android 10, доступ к большинству каталогов во внешнем хранилище, включая корень, требует использования системного файлового провайдера или других специальных разрешений.

Пользователь

от delphine_bartoletti , 2 месяца назад

@steve 

Этот код устарел, поскольку начиная с Android 10 (API 29), использование метода getExternalStorageDirectory() было объявлено устаревшим. Вместо этого рекомендуется использовать метод getExternalFilesDir(), который возвращает путь к каталогу для файлов вашего приложения.


Вот обновленный код для создания папки с файлами во внешнем хранилище вашего приложения:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
String folderName = "Название папки";
File folder = new File(getExternalFilesDir(null), folderName);

if (!folder.exists()) {
    folder.mkdirs();
}

String fileName = "Название файла";
File file = new File(folder, fileName);

try {
    if (!file.exists()) {
        file.createNewFile();
        // Действия с файлом
    }
} catch (IOException e) {
    e.printStackTrace();
}


Кроме того, убедитесь, что в вашем манифесте прописано соответствующее разрешение на запись во внешнее хранилище:

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


Однако, начиная с Android 10, рекомендуется использовать внутренние каталоги приложения для работы с файловой системой, так как внешние разрешения для работы с файлами находятся под угрозой безопасности и требуют дополнительных разрешений и обработки.