Подтвердить что ты не робот

Как проверить, существует ли каталог, содержащий файл?

Я использую groovy для создания файла типа "../A/B/file.txt". Для этого я создал service и передал file path, который будет создан как argument. Затем эта услуга используется Job. Job выполнит логику создания файла в указанном каталоге. Я вручную создал каталог "A" .

Как создать каталог "B" и файл .txt внутри каталога "A" с помощью кодов, чтобы создать его автоматически?

Мне нужно также проверить, существуют ли каталоги "B" и "A" перед созданием файла.

4b9b3361

Ответ 1

Чтобы проверить, существует ли папка или нет, вы можете просто использовать метод 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"
}

Ответ 2

EDIT: с Java8 вам лучше использовать Files класс:

Path resultingPath = Files.createDirectories('A/B');

Я не знаю, исправляет ли это проблему, но класс File имеет метод mkdirs(), который полностью создает указанный путь по файлу.

File f = new File("/A/B/");
f.mkdirs();