Java: forma adecuada de hacer directorios
-
20-08-2019 - |
Pregunta
Los directorios some_folder, some_folder_1, some_folder_2 y some_folder_3 no existen inicialmente.
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();
}
¿Sería una buena forma de hacer esto?
Solución
No use el separador de ruta, use el constructor correcto en su lugar:
File folder1 = new File("some_folder", "some_folder_1");
if (!folder1.exists()) {
folder1.mkdirs(); // returns a boolean
}
Otros consejos
Bueno, no necesita las pruebas: mkdirs solo devuelve false
si el directorio ya existe. Prefiero usar una & Quot; base & Quot; archivo para some_folder
para evitar codificar la barra oblicua, aunque es probable que una barra inclinada funcione en las plataformas más populares :)
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();
Tenga en cuenta que esto no arrojará ninguna excepción si los nombres ya existen, pero como archivos en lugar de carpetas ...
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();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow