Как проверить, существует ли каталог, содержащий файл?
Я использую groovy
для создания файла типа "../A/B/file.txt"
. Для этого я создал service
и передал file path
, который будет создан как argument
. Затем эта услуга используется Job
. Job
выполнит логику создания файла в указанном каталоге. Я вручную создал каталог "A" .
Как создать каталог "B" и файл .txt внутри каталога "A" с помощью кодов, чтобы создать его автоматически?
Мне нужно также проверить, существуют ли каталоги "B" и "A" перед созданием файла.
Ответы
Ответ 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();