J'utilise groovy
pour créer un fichier comme "../A/B/file.txt"
. Pour ce faire, j'ai créé un service
et je passe le file path
à créer en tant que argument
. Ce service est ensuite utilisé par un Job
. Le Job
fera la logique pour créer le fichier dans le répertoire spécifié. J'ai créé manuellement le répertoire "A".
Comment vais-je créer le répertoire "B" et le fichier.txt dans le répertoire "A" à l'aide de codes pour le créer automatiquement?
Je dois aussi vérifier si les répertoires "B" et "A" existent avant de créer le fichier.
Pour vérifier si un dossier existe ou non, vous pouvez simplement utiliser la méthode exists()
:
// Create a File object representing the folder 'A/B'
def folder = new File( 'A/B' )
// If it doesn't exist
if( !folder.exists() ) {
// Create all folders up-to and including B
folder.mkdirs()
}
// Then, write to file.txt inside B
new File( folder, 'file.txt' ).withWriterAppend { w ->
w << "Some text\n"
}
EDIT: à partir de Java8, vous feriez mieux d'utiliser Files
classe:
Path resultingPath = Files.createDirectories('A/B');
Je ne sais pas si cela résout finalement votre problème, mais la classe File
a la méthode mkdirs()
qui crée complètement le chemin spécifié par le fichier.
File f = new File("/A/B/");
f.mkdirs();