Java: Die richtige Weg der Verzeichnisse zu machen
-
20-08-2019 - |
Frage
Verzeichnisse some_folder, some_folder_1, some_folder_2 und some_folder_3 nicht existiert zunächst.
File folder1 = new File("some_folder/some_folder_1");
File folder2 = new File("some_folder/some_folder_2");
File folder3 = new File("some_folder/some_folder_3");
if(!folder1.exists()) {
folder1.mkdirs();
}
if(!folder2.exists()) {
folder2.mkdirs();
}
if(!folder3.exists()) {
folder3.mkdirs();
}
Wäre das ein guter Weg, dies zu tun?
Lösung
Sie den Pfad Separator nicht verwenden, verwenden Sie den richtigen Konstruktor statt:
File folder1 = new File("some_folder", "some_folder_1");
if (!folder1.exists()) {
folder1.mkdirs(); // returns a boolean
}
Andere Tipps
Nun, Sie brauchen nicht die Tests - mkdirs gibt nur false
, wenn das Verzeichnis bereits vorhanden ist. Ich würde es vorziehen, eine „Basis“ Datei für some_folder
verwenden Hartcodierung des Schrägstrichs zu vermeiden, auch wenn ein Schrägstrich ist wahrscheinlich zu arbeiten beliebtestene Plattformen:)
File baseFolder = new File("some_folder");
new File(baseFolder, "some_folder_1").mkdirs();
new File(baseFolder, "some_folder_2").mkdirs();
new File(baseFolder, "some_folder_3").mkdirs();
Beachten Sie, dass dies keine Ausnahmen auslösen, wenn die Namen bereits existieren, aber als Dateien anstelle von Ordnern ...
oder
String[] folders = {"some_folder_1", "some_folder_2", "some_folder_3"};
File root = new File("some_folder");
for (String folder: folders)
new File(root, folder).mkdirs();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow