Ich versuche, ein Verzeichnis namens “images” auf der SD-Karte unter Android zu erstellen. Das ist mein Code, aber er funktioniert nicht? Kann mir jemand einen Rat geben?
File picDirectory = new File("mnt/sdcard/images");
picDirectory.mkdirs();
Ich versuche, ein Verzeichnis namens “images” auf der SD-Karte unter Android zu erstellen. Das ist mein Code, aber er funktioniert nicht? Kann mir jemand einen Rat geben?
File picDirectory = new File("mnt/sdcard/images");
picDirectory.mkdirs();
Will Tate
Aktualisieren: Seit Android 10,11 Storage-Updateshat Google den Zugriff auf den Speicher durch standardmäßige Dateioperationen in Programmiersprachen eingeschränkt.
Für Anwendungen, die nur auf Android 10 (API 29) und höher abzielen, müssen Sie “requestLegacyExternalStorage=”true” ” in Ihrer Android-Manifestdatei deklarieren, um programmiersprachenbasierte Dateivorgänge zu verwenden.
<application
android:requestLegacyExternalStorage="true"
....>
==========
Sie möchten sicher sein, dass Sie die Adresse Ihrer SD-Karte richtig finden, Sie können nicht sicher sein, dass sie immer eine bestimmte Adresse hat. Sie werden Folgendes tun wollen!
File directory = new File(Environment.getExternalStorageDirectory()+File.separator+"images");
directory.mkdirs();
Lassen Sie mich wissen, ob dies für Sie funktioniert!
Sie benötigen auch die folgende Zeile in Ihrer AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Nochmals vielen Dank für all Ihre Antworten, Sie waren sehr hilfreich und ich weiß das zu schätzen … Also habe ich Ihren Code ausprobiert und es ist derselbe. Ich verwende den Datei-Explorer, um zu sehen, ob der Ordner erstellt wurde, aber es wird nicht angezeigt, dass dies der Fall ist. Ich bin mir nicht sicher, was ich falsch mache.
– Petrus
12. März 2011 um 1:43 Uhr
wenn du eins machst Log.d("Peter's App", Environment.getExternalStorageDirectory()+File.separator+"images");
was siehst du darin logcat
?? gibt es aus /mnt/sdcard/images
??
– Will Tate
12. März 2011 um 1:50 Uhr
Es gibt tatsächlich nichts aus … heißt das, wo immer ich meinen Code einfüge, wird er nicht ausgeführt? Ich habe versucht, es unter eine Schaltfläche und auch unter onCreate zu setzen.
– Petrus
12. März 2011 um 13:56 Uhr
fantastisch! Es tut mir leid, dass ich so lange gebraucht habe, um zu überlegen, ob Berechtigungen das Problem sein könnten ><. Viel Spaß beim Rest deines Projektes!
– Will Tate
12. März 2011 um 15:11 Uhr
Willst du mich verarschen, niemand sonst hätte einer Frage so viel Zeit geschenkt wie du. Danke noch einmal!
– Petrus
12. März 2011 um 16:51 Uhr
Adam
Ich benutze dies, um das Ergebnis zu kennen:
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");
}
Mohsen Bahman
Sie können dies verwenden:
File directory = new File(Environment.getExternalStorageDirectory() + "/images");
directory.mkdirs();
Kuvonchbek Jakubow
Environment.getExternalStorageDirectory()
ist veraltet. Also solltest du das verwenden:
File directory = new File(this.getExternalFilesDir(null).getAbsolutePath() + "/YourDirectoryName");
directory.mkdirs();
Eine erwähnenswerte Sache ist, wenn Sie immer falsch von mkdirs() erhalten, versuchen Sie, Ihr Gerät vom PC zu trennen, und sehen Sie, ob es Ordner erstellen kann. Zumindest habe ich es versucht, es hat bei mir funktioniert, derzeit suche ich nach Möglichkeiten, dieses Problem zu beheben.
Schmied
Um ein bestimmtes Stammverzeichnis und seinen Unterordner zu erstellen, verwende ich diesen Code
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();
Jitesh Mohite
Um eine Datei auf der SD-Karte zu erstellen, müssen Sie verwenden 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();
}
}
Die folgenden zwei wichtigen Parameter helfen Ihnen beim Erstellen von Verzeichnis 1. directory.mkdirs() :
Erstellt das von dieser Datei benannte Verzeichnis und erstellt bei Bedarf fehlende übergeordnete Verzeichnisse. 2. Verzeichnis.mkdir() :
Erstellt das von dieser Datei benannte Verzeichnis, vorausgesetzt, seine Eltern existieren.
Für mehr können Sie wie getExternalStorageDirectory() funktioniert siehe bitte Verknüpfung