Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/58: Рейтинг темы: голосов - 58, средняя оценка - 4.71
Nereis

Посимвольное чтение файла

28.09.2008, 01:48. Показов 11020. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток!
Такая проблема встала передо мной:
Есть файл вида:
0012345
01123412345678
021230201200805012008
02321 17022008
021321504200817042008
01432187654321
023330208200706082007
01444488888888
,где, к примеру, первых два символа строки определяют тип дальнейшей информации. Т.е. если первых два символа 00, то это заголовочная информация и дальше следует 5тизначный номер, к примеру договора. Если 01, то после следует 4 символа id компании, и еще 8 символов - номер счета компании. А если 02, то следующие 3 символа будут означать номер совершенной операции и после них еще дата совершения и дата утверждения. Структура файла имеется примерно такая.
Вопрос: как прочитать такой файл? Просто здесь нет никаких разделителей. И то как читать строчку становится ясно только после прочтения первых двух символов. Не поможет ли кто-нибудь примером или ссылкой на статью, где разбирается подобное построчно-символьное чтение файла.. Просто в итоге мне нужно вывести это все на форму. К примеру, все номера договоров в листбоксе, и когда кликаешь на один из них в другом месте появляется полная инфа по этому договору( компании подписаные на него, а кликая на них получать список совершенных ими операций в раках договора.)
Структуру файла придумал не я и менять ее нельзя=)) надо просто прочитать.)
Заранее спасибо всем откликнувшимся!
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.09.2008, 01:48
Ответы с готовыми решениями:

посимвольное чтение
Как млжно организовать посимвольное чтение?

Организовать посимвольное чтение из текстового файла
Здравствуйте. Возник вопрос: можно ли организовать посимвольное чтение из текстового файла? В принципе можно считать в строку и парсить по...

Посимвольное чтение строки
Доброго времени суток... У меня есть некая переменная s, типа стринг, в ней лежит страница определенного текста, мне нада посимвольно...

5
Nereis
28.09.2008, 02:00
Забыл добавить: язык C#

Я так понимаю надо открыть файл прочитать первую строку( где 00) и вывести это в textbox как заголовок файла, потом пройтись по файлу и составить список всех компаний(01). И потом по клику на них( в listbox'е) найти все 02 которые относятся к выбранной компании и вывести их отдельно куданить. Как это можно реализовать?
Nereis
28.09.2008, 02:14
Еще одно дополнение:

Забыл добавить что в каждой строке типа 01 и 02 через 5 пробелов еще написано имя компании.. без этого конечно никак было бы не связать эти строки и каждый блок заканчивается строкой типа 03. Т.е. конечный вид примера файла будет таким:
0012345
01123412345678 Company1
021230201200805012008 Company1
02321 17022008 Company1
021321504200817042008 Company1
03
01432187654321 Company2
023330208200706082007 Company2
03
01444488888888 Company3
03
 Аватар для Skynin
2 / 2 / 0
Регистрация: 29.09.2008
Сообщений: 9
29.09.2008, 13:53
Вопроса не увидел. В чем трудность? Формат строк известен, читаешь, анализируешь, вычленяешь нужную информацию и куда хочешь, туда и пишешь.

Вопрос: как прочитать такой файл? Просто здесь нет никаких разделителей.
Но символы новой строки - есть? Вот они и разделители.

И читать как и любые файлы с символом новой строки - построчно.
Прочел строку, посмотрел первые два символа, и передал оставшуюся часть на обработку, в зависимости от вида строки.
Прочел следующую строку, ..., ...,

Как это можно реализовать?
Можно по всякому, а как - нужно?

Можно прочесть все в какую-то коллекцию удобных для последующего поиска объектов. Создавая их по ходу разбора строк
Можно проиндексировать строки, читая побайтно, и потом так же побайтно позиционируясь.
Можно ..., ...,

Насчет литературы - не встречал такой. Как понимаю - за ненадобностью, ибо формат файла, который тебе нужно прочесть: простой и лаконичный.
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
03.10.2008, 03:43
Читать файл
C#
1
2
3
4
5
6
7
8
9
using (StreamReader sr = new StreamReader("TestFile.txt")) 
{
    String line;
    while ((line = sr.ReadLine()) != null) 
    {
        //Здесь разбираешь строку с данными
        Console.WriteLine(line);
    }
}
Можно создать DataSet с таблицами для каждого типа операции и выставить связи между ними. На форме контролы связать с соответствующими таблицами.
0
Nereis
03.10.2008, 05:55
Спасибо всем=) Я уже справился с этой задачей) все и правда было просто))) Считал все в коллекции объектов и с ними потом работал. Хотя предложение с бд ИМХО перспективнее=)

Еще раз всем спасибо, извините за беспокойство
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.10.2008, 05:55
Помогаю со студенческими работами здесь

Посимвольное считывание файла
Есть файл в котором находится несколько строк последовательностей нулей и единиц. 10101010101 01010101011 10101010101 10101011100...

Посимвольное считывание текста из файла
доброго времени суток. прейду сразу к вопросу: мысль, есть файл(текстовый), откуда читаем информацию(символы и алфавит одного регистра)....

Посимвольное чтение данных из файла с условиями
Нужно подключить файл и открыть его для чтения, считать от туда данные. Сверить их с условиями. Пример работы: есть файл test.txt в...

Посимвольное чтение файла
Всем добрый день! давно не писал на Borland с++ и выяснилось что ни чего не помню. Задался целью написвть програмку и для ее...

Посимвольное чтение из файла
Ребят, подскажите пожалуйста как можно без особых танцев с бубном получить символ из файла? Перерыл кучу доков, так ничего и не нашёл....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Закрытая тема Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru