Überprüfen Sie, ob das Verzeichnis auf der SD-Karte von Android vorhanden ist

Lesezeit: 3 Minuten

Wie überprüfe ich, ob ein Verzeichnis auf der SD-Karte in Android vorhanden ist?

Benutzer-Avatar
synchron

Reguläre Java-Datei-IO:

File f = new File(Environment.getExternalStorageDirectory() + "/somedir");
if(f.isDirectory()) {
   ....

Möchte vielleicht auch prüfen f.exists()denn wenn es existiert, und isDirectory() false zurückgibt, haben Sie ein Problem. Es gibt auch isReadable()

Prüfen hier für weitere Methoden, die Sie möglicherweise nützlich finden.

  • Mein Fehler stellte sich gerade als ein fehlendes Verzeichnis in meinem Pfad heraus, aber danke. Ich begann mich zu fragen, ob das Dateisystem von Android keine normalen Methoden wie diese unterstützt 😛

    – Alexander

    12. April 2010 um 21:58 Uhr

  • Nur eine Anmerkung, getExternalStorageDirectory() zeigt möglicherweise nicht wirklich auf die physische sd_card, es könnte auf den internen Speicher zeigen. developer.android.com/reference/android/os/…

    – Chrispix

    27. April 2012 um 18:29 Uhr

  • Chrispix, Ihr Kommentar ist irreführend. getExternalStorageDirectory() zeigt auf den Speicher, der Daten für alle Anwendungen freigibt. Dies könnte die SD-Karte sein und zeigt bei Geräten ohne SD-Karte auf den reservierten Speicherbereich, der als externer Speicher verwendet wird. Im internen Speicher werden private Daten (für die Anwendung – normalerweise Daten/Daten) gespeichert.

    – Jasch

    20. Juli 2013 um 15:48 Uhr

  • Dies funktioniert bei mir nicht, da getExternalStorageDirectory() den internen Speicher zurückgibt.

    – Luis A. Florit

    7. September 2013 um 1:20 Uhr

  • @muhammad: Es könnte existieren und nur eine Datei anstelle eines Verzeichnisses sein.

    – synchron

    7. November 2014 um 7:24 Uhr

File dir = new File(Environment.getExternalStorageDirectory() + "/mydirectory");
if(dir.exists() && dir.isDirectory()) {
    // do something here
}

  • Ist es notwendig, beide zu überprüfen, wenn exists() und isDirectory() ? Ich meine, was ist, wenn wir einen von ihnen benutzen?

    – Mann

    4. Januar 2016 um 11:22 Uhr

Der folgende Code funktioniert auch für Java-Dateien:

// Create file upload directory if it doesn't exist    
if (!sdcarddir.exists())
   sdcarddir.mkdir();

Benutzer-Avatar
Ingo

Verwenden Sie diese Funktion allgemein, um zu überprüfen, ob ein Verzeichnis vorhanden ist:

public boolean dir_exists(String dir_path)
  {
    boolean ret = false;
    File dir = new File(dir_path);
    if(dir.exists() && dir.isDirectory())
      ret = true;
    return ret;
  }

Verwenden Sie die Funktion wie folgt:

String dir_path = Environment.getExternalStorageDirectory() + "//mydirectory//";

if (!dir_exists(dir_path)){
  File directory = new File(dir_path); 
  directory.mkdirs(); 
}

if (dir_exists(dir_path)){
  // 'Dir exists'
}else{
// Display Errormessage 'Dir could not creat!!'
}

Ich habe meinen Fehler gemacht, Datei/Verzeichnis zu überprüfen. In der Tat, Sie müssen nur anrufen isFile() oder isDirectory(). Hier ist der Dokumente

Sie brauchen nicht anzurufen exists() falls du jemals anrufst isFile() oder isDirectory().

Benutzer-Avatar
Agilanbu

Yup hat viel versucht, der folgende Code hilft mir 🙂

 File folder = new File(Environment.getExternalStorageDirectory() + File.separator + "ur directory name");

                if (!folder.exists()) {
                    Log.e("Not Found Dir", "Not Found Dir  ");
                } else {
                    Log.e("Found Dir", "Found Dir  " );
                   Toast.makeText(getApplicationContext(),"Directory is already exist" ,Toast.LENGTH_SHORT).show();
                }

1217340cookie-checkÜberprüfen Sie, ob das Verzeichnis auf der SD-Karte von Android vorhanden ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy