web-dev-qa-db-fra.com

comment créer un dossier dans le répertoire de stockage externe Android?

Je ne peux pas créer de dossier dans le répertoire de stockage externe Android.

J'ai ajouté permissing on manifest,

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

Voici mon code:

 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 );
        }
  }
28
SHIDHIN.T.S

Fais-le comme ça : 

String folder_main = "NewFolder";

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

Si vous voulez créer un autre dossier dans cela:

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

La différence entre mkdir et mkdirs est que mkdir ne crée pas de répertoire parent inexistant, alors que mkdirs le fait. Par conséquent, si Shidhin n'existe pas, mkdir échouera. De plus, mkdir et mkdirs ne renvoient true que si le répertoire a été créé. Si le répertoire existe déjà, ils renvoient false

10
Blackbelt

nous pouvons créer un dossier ou un répertoire sur un stockage externe en tant que:

 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();
}

et si nous voulons créer un répertoire ou un dossier sur la mémoire interne, nous ferons:

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

Mais assurez-vous que vous avez donné l'autorisation d'écriture sur le stockage externe . Et n'oubliez pas que si vous n'avez pas de lecteur externe, choisissez par défaut le répertoire parent interne .

1
Pradeep Sheoran

Essayez d'ajouter

FPath.mkdirs (); (Voir http://developer.Android.com/reference/Java/io/File.html )

et ensuite, enregistrez simplement le fichier selon vos besoins sur ce chemin, Android OS créera tous les répertoires nécessaires . Vous n'avez pas besoin de faire les vérifications existantes, il suffit de définir cet indicateur et d'enregistrer . Comment créer automatiquement un répertoire sur la carte SD

0
Chris