Java: manière appropriée de créer des répertoires
-
20-08-2019 - |
Question
Les répertoires some_folder, some_folder_1, some_folder_2 et some_folder_3 n'existent pas à l'origine.
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();
}
Est-ce que ce serait un bon moyen de faire cela?
La solution
N'utilisez pas le séparateur de chemin, utilisez plutôt le constructeur correct:
File folder1 = new File("some_folder", "some_folder_1");
if (!folder1.exists()) {
folder1.mkdirs(); // returns a boolean
}
Autres conseils
Eh bien, vous n'avez pas besoin des tests - mkdirs ne renvoie que false
si le répertoire existe déjà. Je préférerais utiliser une & Quot; base & Quot; fichier pour some_folder
éviter de coder en dur la barre oblique, même si une barre oblique est susceptible de fonctionner sur les plateformes les plus populaires:)
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();
Notez que cela n’aura aucune exception si les noms existent déjà, mais sous forme de fichiers au lieu de dossiers ...
ou
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();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow