2012-12-19 6 views

Antwort

13

Sie würden mkdirs() nicht verwenden, außer Sie möchten, dass jeder dieser Ordner in der Struktur erstellt wird. Versuchen Sie nicht, den zusätzlichen Schrägstrich am Ende der Zeichenfolge hinzuzufügen, um zu sehen, ob das funktioniert.

Zum Beispiel

final File newFile = new File("/mnt/sdcard/test"); 
newFile.mkdir(); 
+2

Ich habe am Ende mit 2 Schrägstrichen versucht, und es funktioniert, danke! – arts777

+0

Es gibt keine "/ mnt/sdcard", die auf alle Android-Geräte (KitKat) auf die echte SD-Karte zeigt. Ich habe auch versucht, die beiden Schrägstriche am Ende mit "/ storage/external_SD/Android/data//files/dummy //" und es erstellt jetzt ein Verzeichnis Dateien, die unter Windows sichtbar ist, aber Dummy ist immer noch ein Datei. Mit ES3 sind beide Verzeichnisse. Gut genug für mich :)) – Zekitez

0

Try

String rootPath=Environment.getExternalStorageDirectory().getAbsolutePath()+"/test/"; 
      File file=new File(rootPath); 
if(!file.exists()){ 
file.mkdirs(); 
} 
0

Zunächst einmal verwenden Sie nicht einen Dateipfad mit "/ mnt/sdcard/test" verwenden sollten, kann dies Probleme verursachen mit einige Android-Telefone. Verwenden Sie stattdessen:

Es erstellt eine leere Datei, seit Sie den Bindestrich hinzugefügt.

Nachdem Sie nun Ihren Weg den folgenden Code verwenden:

try { 
    File dir = new File(fullPath); 
    if (!dir.exists()) { 
     dir.mkdirs(); 
    } 
} 
catch(Exception e){ 
    Log.w("creating file error", e.toString()); 
} 
+0

>> Zuerst sollten Sie keinen Dateipfad mit "/ mnt/sdcard/test" verwenden >> Es ist OK, weil es Beispielcode ist. Tatsächlich ist es ein Teil des Dateimanagers und ich versuche ein Verzeichnis mit einem benutzerdefinierten Pfad zu erstellen. Also benutze ich keinen hardcodierten Pfad "/ mnt/sdcard /" in echtem Code. – arts777

+0

In diesem Fall fair genug. – Max

7

Wenn ich benötigen, um sicherzustellen, dass alle Verzeichnisse für eine Datei vorhanden ist, aber ich habe nur Filepath - ich

new File(FileName.substring(0,FileName.lastIndexOf("/"))).mkdirs();