Nereis
|
|
1 | |
Посимвольное чтение файла28.09.2008, 01:48. Показов 10750. Ответов 5
Метки нет (Все метки)
Доброе время суток!
Такая проблема встала передо мной: Есть файл вида: 0012345 01123412345678 021230201200805012008 02321 17022008 021321504200817042008 01432187654321 023330208200706082007 01444488888888 ,где, к примеру, первых два символа строки определяют тип дальнейшей информации. Т.е. если первых два символа 00, то это заголовочная информация и дальше следует 5тизначный номер, к примеру договора. Если 01, то после следует 4 символа id компании, и еще 8 символов - номер счета компании. А если 02, то следующие 3 символа будут означать номер совершенной операции и после них еще дата совершения и дата утверждения. Структура файла имеется примерно такая. Вопрос: как прочитать такой файл? Просто здесь нет никаких разделителей. И то как читать строчку становится ясно только после прочтения первых двух символов. Не поможет ли кто-нибудь примером или ссылкой на статью, где разбирается подобное построчно-символьное чтение файла.. Просто в итоге мне нужно вывести это все на форму. К примеру, все номера договоров в листбоксе, и когда кликаешь на один из них в другом месте появляется полная инфа по этому договору( компании подписаные на него, а кликая на них получать список совершенных ими операций в раках договора.) Структуру файла придумал не я и менять ее нельзя=)) надо просто прочитать.) Заранее спасибо всем откликнувшимся! |
28.09.2008, 01:48 | |
Ответы с готовыми решениями:
5
посимвольное чтение Организовать посимвольное чтение из текстового файла Посимвольное чтение строки Посимвольное считывание файла |
Nereis
|
|
28.09.2008, 02:00 | 2 |
Забыл добавить: язык C#
Я так понимаю надо открыть файл прочитать первую строку( где 00) и вывести это в textbox как заголовок файла, потом пройтись по файлу и составить список всех компаний(01). И потом по клику на них( в listbox'е) найти все 02 которые относятся к выбранной компании и вывести их отдельно куданить. Как это можно реализовать? |
Nereis
|
|
28.09.2008, 02:14 | 3 |
Еще одно дополнение:
Забыл добавить что в каждой строке типа 01 и 02 через 5 пробелов еще написано имя компании.. без этого конечно никак было бы не связать эти строки и каждый блок заканчивается строкой типа 03. Т.е. конечный вид примера файла будет таким: 0012345 01123412345678 Company1 021230201200805012008 Company1 02321 17022008 Company1 021321504200817042008 Company1 03 01432187654321 Company2 023330208200706082007 Company2 03 01444488888888 Company3 03 |
2 / 2 / 0
Регистрация: 29.09.2008
Сообщений: 9
|
|
29.09.2008, 13:53 | 4 |
Вопроса не увидел. В чем трудность? Формат строк известен, читаешь, анализируешь, вычленяешь нужную информацию и куда хочешь, туда и пишешь.
И читать как и любые файлы с символом новой строки - построчно. Прочел строку, посмотрел первые два символа, и передал оставшуюся часть на обработку, в зависимости от вида строки. Прочел следующую строку, ..., ..., Можно прочесть все в какую-то коллекцию удобных для последующего поиска объектов. Создавая их по ходу разбора строк Можно проиндексировать строки, читая побайтно, и потом так же побайтно позиционируясь. Можно ..., ..., Насчет литературы - не встречал такой. Как понимаю - за ненадобностью, ибо формат файла, который тебе нужно прочесть: простой и лаконичный.
0
|
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
|
||||||
03.10.2008, 03:43 | 5 | |||||
Читать файл
0
|
Nereis
|
|
03.10.2008, 05:55 | 6 |
Спасибо всем=) Я уже справился с этой задачей) все и правда было просто))) Считал все в коллекции объектов и с ними потом работал. Хотя предложение с бд ИМХО перспективнее=)
Еще раз всем спасибо, извините за беспокойство |
03.10.2008, 05:55 | |
03.10.2008, 05:55 | |
Помогаю со студенческими работами здесь
6
Посимвольное считывание текста из файла Посимвольное чтение данных из файла с условиями Посимвольное чтение файла Посимвольное чтение из файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |