Помогите распарсить файл
Добавлено: 24 Июль 2012, 16:04
Привет всем!
Помогите, пожалуйста, распарсить (желательно правильно-оптимально по времени-вычислительным ресурсам) следующий файл: http://wallxb.ru/products/sto/00000001.pul
Это файл базы данных стороннего приложения, где в самом конце расположен каталог записей.
После последнего вхождения в подстроку «M7GF-SEQB-4G8D» начиная с 37 позиции берет свое начало список в формате:
- #8#
- дата
- %
- время
- &
Конец блока ознаменуется подстрокой «*^ ™»
Пример: M7GF-SEQB-4G8D ў; €" #8#07.07.2012%16:30:36&3Г^ ј
#8#07.07.2012%19:05:07&0ъj ј
#8#07.07.2012%21:16:24&0%ѓ €" #8#14.07.2012%16:25:11&3Ґ ј
#8#14.07.2012%19:08:58&0i± ј
#8#14.07.2012%21:11:26&0 U €" #8#21.07.2012%17:05:28&3 x ј
#8#21.07.2012%19:08:07&0;; g <NOTE>#8#07.07.2012%16:30:36*^ ™
Пробовал множеством способов – ничего не получилось. Наверное, из-за каких-то спецсимволов, присутствующих в теле файла.
Вопросы:
1. С помощью какого файлового драйвера делать доступ к этому файлу (DOS, ASCII, пр.)?
2. Формат этого файла.
3. Как начать считывать с конца файла? Алгоритм: находим первое вхождение с конца (а не с начала, чтобы не перебирать увеличивающийся со временем весь файл) в подстроку «M7GF-SEQB-4G8D», отсчитываем 37 позиций, начиная с найденной, и начинаем распарсивать.
Если у кого получиться написать рабочий пример – буду премного благодарен – с нашей организации - СТО – Системная Теледиагностика Организма для Вас или Ваших близких, если, конечно, пожелаете.
Помогите, пожалуйста, распарсить (желательно правильно-оптимально по времени-вычислительным ресурсам) следующий файл: http://wallxb.ru/products/sto/00000001.pul
Это файл базы данных стороннего приложения, где в самом конце расположен каталог записей.
После последнего вхождения в подстроку «M7GF-SEQB-4G8D» начиная с 37 позиции берет свое начало список в формате:
- #8#
- дата
- %
- время
- &
Конец блока ознаменуется подстрокой «*^ ™»
Пример: M7GF-SEQB-4G8D ў; €" #8#07.07.2012%16:30:36&3Г^ ј
#8#07.07.2012%19:05:07&0ъj ј
#8#07.07.2012%21:16:24&0%ѓ €" #8#14.07.2012%16:25:11&3Ґ ј
#8#14.07.2012%19:08:58&0i± ј
#8#14.07.2012%21:11:26&0 U €" #8#21.07.2012%17:05:28&3 x ј
#8#21.07.2012%19:08:07&0;; g <NOTE>#8#07.07.2012%16:30:36*^ ™
Пробовал множеством способов – ничего не получилось. Наверное, из-за каких-то спецсимволов, присутствующих в теле файла.
Вопросы:
1. С помощью какого файлового драйвера делать доступ к этому файлу (DOS, ASCII, пр.)?
2. Формат этого файла.
3. Как начать считывать с конца файла? Алгоритм: находим первое вхождение с конца (а не с начала, чтобы не перебирать увеличивающийся со временем весь файл) в подстроку «M7GF-SEQB-4G8D», отсчитываем 37 позиций, начиная с найденной, и начинаем распарсивать.
Если у кого получиться написать рабочий пример – буду премного благодарен – с нашей организации - СТО – Системная Теледиагностика Организма для Вас или Ваших близких, если, конечно, пожелаете.