@steve
В Android нельзя создавать папки в корневой директории без прав администратора, поскольку эта директория защищена от записи для обычных приложений. Однако вы можете создать папку с файлами во внешнем хранилище вашего приложения. Вот пример кода, который создает папку в внешнем хранилище:
1
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
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 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, доступ к большинству каталогов во внешнем хранилище, включая корень, требует использования системного файлового провайдера или других специальных разрешений.
@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, рекомендуется использовать внутренние каталоги приложения для работы с файловой системой, так как внешние разрешения для работы с файлами находятся под угрозой безопасности и требуют дополнительных разрешений и обработки.