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

Как создать папку в android External Storage Directory?

Я не могу создать папку в каталоге внешнего хранилища android.

Я добавил разрешение на манифест,

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

Вот мой код:

 String Path = Environment.getExternalStorageDirectory().getPath().toString()+ "/Shidhin/ShidhiImages";
  System.out.println("Path  : " +Path );
  File FPath = new File(Path);
  if (!FPath.exists()) {
        if (!FPath.mkdir()) {
            System.out.println("***Problem creating Image folder " +Path );
        }
  }
4b9b3361

Ответ 1

Сделайте это так:

String folder_main = "NewFolder";

File f = new File(Environment.getExternalStorageDirectory(), folder_main);
if (!f.exists()) {
    f.mkdirs();
}

Если вы хотите создать в нем еще одну папку:

File f1 = new File(Environment.getExternalStorageDirectory() + "/" + folder_main, "product1");
if (!f1.exists()) {
    f1.mkdirs();
}

Ответ 2

Разница между mkdir и mkdirs заключается в том, что mkdir не создает несуществующий родительский каталог, тогда как mkdirs делает, поэтому, если Shidhin не существует, mkdir завершится с ошибкой. Кроме того, mkdir и mkdirs возвращает true, только если каталог был создан. Если каталог уже существует, они возвращают false

Ответ 3

Я могу создать папку в каталоге внешнего хранилища Android.

Я добавил разрешение на манифест,

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

Вот мой код:

String folder_main = "Images";

File outerFolder = new File(Environment.getExternalStorageDirectory(), folder_main);

File inerDire = new File(outerFolder.getAbsoluteFile(), System.currentTimeMillis() + ".jpg");

if (!outerFolder.exists()) {

    outerFolder.mkdirs();

}
if (!outerFolder.exists()) {

    inerDire.createNewFile();

}
  • outerFolder.mkdirs();//Это создаст папку

  • inerDire.createNewFile();//Это создаст файл (для E.g.jpg
    файл)

Ответ 4

мы можем создать папку или каталог на внешнем хранилище как:

 String myfolder=Environment.getExternalStorageDirectory()+"/"+fname;
     File f=new File(myfolder);
     if(!f.exists())
     if(!f.mkdir()){
     Toast.makeText(this, myfolder+" can't be created.", Toast.LENGTH_SHORT).show();

    }
    else
     Toast.makeText(this, myfolder+" can be created.", Toast.LENGTH_SHORT).show();
}

и если мы хотим создать каталог или папку во внутренней памяти, мы сделаем следующее:

File folder = getFilesDir(); 
File f= new File(folder, "doc_download"); 
f.mkdir();

Но убедитесь, что вы дали разрешение на запись во внешнее хранилище. И помните, что если у вас нет внешнего диска, то по умолчанию он выбирает внутренний родительский каталог. Я уверен, что это будет работать..... наслаждайтесь кодом

Ответ 5

Попробуйте добавить

FPath.mkdirs(); (См. http://developer.android.com/reference/java/io/File.html)

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

Ответ 6

попробуй {

String filename = "SampleFile.txt";   String filepath = "MyFileStorage";

                FileInputStream fis = new FileInputStream(myExternalFile);
                DataInputStream in = new DataInputStream(fis);
                BufferedReader br =
                        new BufferedReader(new InputStreamReader(in));
                String strLine;
                while ((strLine = br.readLine()) != null) {
                    myData = myData + strLine;
                }
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
          inputText.setText(myData);
            response.setText("SampleFile.txt data retrieved from External Storage...");
        }
    });

    if (!isExternalStorageAvailable() || isExternalStorageReadOnly()) {
        saveButton.setEnabled(false);
    }
    else {
        myExternalFile = new File(getExternalFilesDir(filepath), filename);
    }