How to check if a directory containing a file exist?

chemilleX3 picture chemilleX3 · Oct 5, 2012 · Viewed 108.1k times · Source

I am using groovy to create a file like "../A/B/file.txt". To do this, I have created a service and pass the file path to be created as an argument. This service is then used by a Job. The Job will do the logic in creating the file in the specified directory. I have manually created the "A" directory.

How will I create the "B" directory and the file.txt inside the "A" directory through codes to create it automatically?

I need also to check if directories "B" and "A" exists before creating the file.

Answer

tim_yates picture tim_yates · Oct 5, 2012

To check if a folder exists or not, you can simply use the exists() method:

// 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"
}