Java: modo corretto di creare directory
-
20-08-2019 - |
Domanda
Le directory some_folder, some_folder_1, some_folder_2 e some_folder_3 non esistono inizialmente.
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();
}
Sarebbe un buon modo per farlo?
Soluzione
Non utilizzare il separatore di percorso, utilizzare invece il costruttore corretto:
File folder1 = new File("some_folder", "some_folder_1");
if (!folder1.exists()) {
folder1.mkdirs(); // returns a boolean
}
Altri suggerimenti
Beh, non hai bisogno dei test - mkdirs restituisce false
se la directory esiste già. Preferirei usare una & Quot; base & Quot; file per some_folder
per evitare l'hard-coding della barra, anche se è probabile che una barra in avanti funzioni sulle piattaforme più popolari :)
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();
Nota che questo non genererà eccezioni se i nomi esistono già ma come file invece di cartelle ...
o
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();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow