powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чтение и поиск в DAT файлах
17 сообщений из 17, страница 1 из 1
Чтение и поиск в DAT файлах
    #39840731
argnis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, уважаемые форумчане!

Имеется множество .DAT файлов (около 50 000). В них записаны данные в следующем формате:
ДатаКатегорияНомерДоговора1Сумма
ДатаКатегорияНомерДоговора2Сумма
ДатаКатегорияНомерДоговора3Сумма
...........
Мне нужно в каждом DAT файле подсчитать итоговую сумму для некоторого диапозона категорий.
Я нашел 2 возможности:

С помощью OleDB
Код: c#
1.
2.
var query = "select * from file.dat";
var connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\file.dat;Extended Properties=\"text;HDR=NO;FMT=FixedLength\"");



С помощью ReadToEnd
Код: c#
1.
2.
StreamReader sr = new StreamReader(Path);
string[] arr = sr.ReadToEnd().Split('\n');



Подскажите что будет быстрее? Или может использовать что-то другое?
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39840732
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
argnis,
Обычные текстовые файлы?
Вестимо самому читать в оперативке складывать быстрее.
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39840738
argnis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC SharpОбычные текстовые файлы?

Впринципе да, обычные файлы, просто streamreader их не распознает. И их очень много.
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39840740
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не всё, что выглядит как текстовые файлы, на самом деле ими является. Расширение DAT ни о
чём не говорит, оно используется по усмотрению разработчика. С которым тебе и следует
проконсультироваться по поводу их чтения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39840741
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
argnisPetroNotC SharpОбычные текстовые файлы?

Впринципе да, обычные файлы, просто streamreader их не распознает. И их очень много.так. Давай по порядку.
1. Скопируй сюда кусок содержимого файла.
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39840743
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovвыглядитслово "выглядит" не раскрыто)
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39840744
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
argnisstreamreader их не распознаеттогда вы рано завели тему.
Попробуйте ОДИН текстовый учебный прочитать.
А потом уже 50000 штук.
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39840748
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
argnis, расширение .DAT нам ни о чем не говорит. Есть бесконечно много
приложений которые как ни странно формируют это расширение но никак друг
с другом ни связаны. Когда работаешь с двоичными файлами - первым делом
надо посмотреть на них через призму hex-редактора.

Но если он действительно открывается драйвером Microsoft.Jet с опцией "text" то используй драйвер.
Это будет правильно.

Вторая фигня которая ниже возможно и будет работать но с расчётом сумм тебе придётся работать
вручную. Кроме того неясно что ты будешь делать когда размер DAT файла превысит твою доступную
виртуальную память. Если в случае с драйвером этот вопрос вынесен за скобки. Его решает драйвер
то во втором случае твоя самоделка в виде массива строк сломает тебе память.

Вобщем оба способа - разные и их нельзя сравнивать так примитивно.
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39840822
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
argnisПодскажите что будет быстрее? Или может использовать что-то другое?

В таких условиях бессмысленно думать, что будет быстрее.
Файлов мало, данных в них мало, С++ быстрый.
Думай о том, что будет удобнее и правильнее.
Я бы не связывался ни с какими библиотеками и драйверами, если это можно сделать на чистом ANCI C/C++
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39840970
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я за удобство программирования. По мне удобней SQL/
М.б. не это главная задача ТСа, а что-то сложнее. А м.б. даже у него кучка разных вычислений, и писать их все на чистом ++ будет муторно. А потом м.б. сопровождать ещё изменения ... кто-то другой будет без документации.

П.С. Но даже 50 тыс текстовых файлов можно в эксэле формулами сбацать )))
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39841261
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivС++ быстрый.
Жалко что ТС C# собирается использовать ))
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39841590
argnis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо всем отписавшимся!

Сделал все по-простому через стримридер. Я там кодироку не ту выставил, поэтому сначало чушь выводило.

Правда читает долго. Там оказалось около 250 тыс файлов в 3 тыс каталогах. Причем в файле около 200 строк. Все файлы в ANCI и не шифрованы.

Но все-равно около 8-10 минут выходит.
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39841592
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажи как сделал.
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39841604
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
argnisНо все-равно около 8-10 минут выходит.потоки подключи
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39841610
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
250 000 файлов / 8 минут = 250 000 файлов / 480 сек = 520 файлов в секунду.

Неплохо но надо посмотреть какие монотонные действия выполняются перед каждым файлом.
Пулы парсеров и мультипоточка нам в помощь.
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39841719
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
argnisБольшое спасибо всем отписавшимся!

Сделал все по-простому через стримридер. Я там кодироку не ту выставил, поэтому сначало чушь выводило.

Правда читает долго. Там оказалось около 250 тыс файлов в 3 тыс каталогах. Причем в файле около 200 строк. Все файлы в ANCI и не шифрованы.

Но все-равно около 8-10 минут выходит.
а сколько файлов на диру?
...
Рейтинг: 0 / 0
Чтение и поиск в DAT файлах
    #39841720
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тьфу, вижу - 83
данные можно в БД запихнуть (любую) и оттуда их дёргать гораздо быстрее
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чтение и поиск в DAT файлах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]