Splitting objects into gridsПрограмма считывает всю запись в массив, после чего начинается определение места нахождения полей и их длинны. Разберем код процедуры. public void dbFileRead(String dbNamePath, PrintStream out, String query) { Начало выполнени поика. Сперва проверяется имеет ли запрос query занчение неравное пусто, если условие выполняется и запрос имеет не нуливое занчение устанавливается связь с файлом данных. Начальная позиция чтения равна нулю. Определив конечную позицию словаря производится считывание в массив блока состоящего из данных - метка поля; начальная позиция поля, относительно конца словаря; длинная поля и символах. Получив данные в результате преобразований, это строка, начинается последовательное вычитание метки поля, начальной позиции, размера поля. Как только первая запись о первом поле разобрана на составляющие проверяется его метка , которая говорить относится или нет, поле к тому списку полей который нас интересует. Если да то производится считывание его из файла. После того как поле считано над значением поля производится ряд преобразований, таких как, вычитание из поля служебной информации относящейся к формату MARC . Получив все данные которые нас интересовали, создается запись состоящая из нескольких полей.
|