Я пытаюсь написать код для моей библиотеки Jenkins.Я написал следующие строки:
steps.println 'Destination Path = ' + target_path
def file = new File(target_path)
steps.println 'target file name: ' + file.getName()
def folder = file.getAbsoluteFile().getParentFile()
steps.println 'target file path: ' + folder.getName()
folder.mkdirs()
Но когда этот код выполняется, я получаю эти результаты
Destination Path = files/docs/My File Name.pdf
[Pipeline] echo
target file name: My File Name.pdf
[Pipeline] echo
target file path: docs
Все, что я обнаружил, говорит, что предполагается getParentFile ()вернуть ВСЕ путь, кроме последней части (имени файла), но он явно не делает этого в этом случае.Он просто возвращает следующий файл.
Я также вижу, но не представлен в этом примере кода, что метод getAbsoluteFile () просто использует косую черту перед всем путем.Поскольку он работает под Jenkins, я знаю, что перед ним должен быть хотя бы путь к рабочей области, но я ничего не получаю.
Я подумал, что, возможно, пробелы в имени файла были проблемой, но даже когда я пробовал без пробелов, я получил тот же результат.
Может кто-нибудь помочь мне с тем, что я делаю неправильно или что я пропустил?