Java: maneira apropriada de fazer Diretórios
-
20-08-2019 - |
Pergunta
Directories some_folder, some_folder_1, some_folder_2 e some_folder_3 não existem 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();
}
Isso seria uma boa maneira de fazer isso?
Solução
Não use o separador de caminho, use o construtor correto em vez disso:
File folder1 = new File("some_folder", "some_folder_1");
if (!folder1.exists()) {
folder1.mkdirs(); // returns a boolean
}
Outras dicas
Bem, você não precisa os testes - mkdirs apenas retorna false
se o diretório já existe. Eu prefiro usar um arquivo "base" para some_folder
para evitar rígido codificação a barra, mesmo que uma barra é provável para o trabalho na maioria das plataformas 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();
Note que isso não vai jogar quaisquer excepções se os nomes já existem, mas como arquivos em vez de pastas ...
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();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow