В z/OS, откуда исходят ваши данные, существует пакет Java под названием Java Batch Toolkit для z/OS (JZOS), который предлагает множество классов для работы с наборами данных мейнфрейма. > и записи (в мейнфрейме вместо файл). Гугл IBM JZOS.
Поскольку вы упомянули .net, я предполагаю, что вы имеете в виду код, работающий на ПК (Windows), и JZOS не подходит.
Если файлы загружаются с использованием FTP, с использованием bin
и quote mode b
на стороне клиента записи будут передаваться с добавлением 3-байтового заголовка к каждой записи (см. RFC 959: FTP, глава 3 Функции передачи данных, раздел 3.4.2. Блочный режим).
Заголовок позволяет коду понять, последняя это запись или нет, и, что более важно, длину каждой записи. Обратите внимание, что поле двухбайтовой двоичной длины имеет формат с обратным порядком байтов.
Вам нужно будет понять структуру записи, т.е. из каких полей она состоит. И формат каждого поля, то есть поле символов EBCDIC, упакованное десятичное поле (COMPUTATIONAL-3) и т. д.
Далее вам нужно знать кодовую страницу EBCDIC, используемую на мейнфрейме. Затем вы можете использовать iconv() (или соответствующие методы Java), чтобы преобразовать их в любую кодовую страницу, которая вам нужна.
Что касается упакованных десятичных полей, вам также необходимо знать точность, т.е. сколько цифр предполагается цифрами десятичной дроби.
person
phunsoft
schedule
17.12.2020