Подтвердить что ты не робот

Сделать каталог в android

Я пытаюсь создать каталог под названием "images" на SD-карте на Android. Это мой код, но он не работает? Может ли кто-нибудь дать мне совет?

File picDirectory = new File("mnt/sdcard/images");
picDirectory.mkdirs();
4b9b3361

Ответ 1

Вы хотите быть уверены, что правильно находите адрес своей SDCard, вы не можете быть уверены, что он всегда находится на каком-либо конкретном адресе. Вы захотите сделать следующее!

File directory = new File(Environment.getExternalStorageDirectory()+File.separator+"images");
directory.mkdirs();

Сообщите мне, если это сработает для вас!

Вам также понадобится следующая строка в AndroidManifest.xml

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

Ответ 2

Я использую это, чтобы узнать результат:

File yourAppDir = new File(Environment.getExternalStorageDirectory()+File.separator+"yourAppDir");

    if(!yourAppDir.exists() && !yourAppDir.isDirectory()) 
    {
        // create empty directory
        if (yourAppDir.mkdirs())
        {
            Log.i("CreateDir","App dir created");
        }
        else
        {
            Log.w("CreateDir","Unable to create app dir!");
        }
    }
    else
    {
        Log.i("CreateDir","App dir already exists");
    }

Ответ 3

вы можете использовать это:

File directory = new File(Environment.getExternalStorageDirectory() + "/images");
directory.mkdirs();

Ответ 4

Одна вещь, которую стоит отметить, это если вы всегда получаете ложь от mkdirs(), попробуйте отключить устройство от компьютера и посмотрите, может ли он создавать папки. По крайней мере, я попробовал, это сработало для меня, в настоящее время я ищу способы решить эту проблему.

Ответ 5

Чтобы создать конкретный корневой каталог и его подпапку, я использую этот код

String root = Environment.getExternalStorageDirectory().toString();//get external storage

File myDir = new File(root + "/grocery"+"/photo/technostark");//create directory and subfolder

File dir=new File(root + "/grocery"+"/data");//create subfolder

myDir.mkdirs();

dir.mkdirs();

Ответ 6

Чтобы создать файл внутри SD-карты, вы должны использовать Environment.getExternalStorageDirectory()

   /**
     * Creates a new directory inside external storage if not already exist.
     *
     * @param name The directory name
     */
    public static void createNewDirectory(String name) {
            // create a directory before creating a new file inside it.
            File directory = new File(Environment.getExternalStorageDirectory(), name);
            if (!directory.exists()) {
                directory.mkdirs(); 
            }
        }

После двух важных параметров, которые помогут вам создать каталог  1. directory.mkdirs():

Создает каталог с именем этого файла, создавая отсутствующий родительский элемент     если необходимо.  2. directory.mkdir():

Создает каталог с именем этого файла, предполагая, что его родители существуют.

Подробнее о том, как работает getExternalStorageDirectory(), см. ссылка