почему класс File getAbsoluteFile и getParentFile, по-видимому, неправильно возвращают значения? - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь написать код для моей библиотеки 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, я знаю, что перед ним должен быть хотя бы путь к рабочей области, но я ничего не получаю.

Я подумал, что, возможно, пробелы в имени файла были проблемой, но даже когда я пробовал без пробелов, я получил тот же результат.

Может кто-нибудь помочь мне с тем, что я делаю неправильно или что я пропустил?

...