Изменение рабочего каталога в среде набора данных z / OS обычно возвращает true, если вы не укажете слишком длинный спецификатор или слишком длинное имя.Это не означает, что рабочий каталог существует или нет, так как наборы данных мэйнфреймов не работают в структуре каталогов.
Если вы перейдете к «рабочему каталогу», который еще не существует, вы получите этоОтвет:
250 "ЭТО.ИС. РАБОТА. ДИРЕКТОР."это префикс имени рабочего каталога.
Если вы попытаетесь указать недопустимое имя, вы получите false.
501 Квалификатор в "THIS.IS.THE.WORKING.DIRECTORY"больше 8 символов
Если вы попытаетесь использовать слишком длинное имя, вы получите false.
501 Неверное имя каталога - слишком большое.
Итак, полагаясьна логическое значение из каталога ChangeWorking не будет работать.Вам нужно просмотреть строку ответа с помощью метода "getReplyString ()" и затем проанализировать ее.
PDS loadlib скажет что-то вроде 250 - Рабочий каталог может быть библиотекой загрузки 250 Рабочий каталог«GAME.LOADLIB» - это набор многораздельных данных
PDS без загрузки просто скажет
250 Рабочий каталог «GAME.COBOL» - это набор многораздельных данных.
listFiles, listDirectories и ListNames также работают по-разному.
У меня есть несколько наборов данных: GAME.SRCE, GAME.COPYLIB, GAME.LOADLIB и GAME.LOADLIB.PDSE.Все они являются разделенными наборами данных.Если вы смените каталог на GAME и выполните listNames (), вы получите все 4. Если вы перечислите listFiles или listDirectories, вы получите ТОЛЬКО COPYLIB и SRCE.Если вы измените каталог на GAME.SRCE, то все три метода выведут список всех членов.Если вы измените каталог на GAME.LOADLIB, ТОЛЬКО listNames перечислит участников.Вы также не знаете, что GAME.LOADLIB.PDSE существует.
Это было сделано с использованием Apache Commons, commons-net-3.6.jar и z / OS.