Открыть текстовый файл размером в 3 Гб

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

stanilar писал(а):...зачем открывать файл, если не нужна обработка данных в файле?
...А вот, кстати, чем Вас файловая система не устраивает вместо СУБД?

Извините, но тут я вообще что-то перестал понимать... Зачем вообще открывать гигабайтный файл, если не нужна обработка его данных??? :roll: Я себе представляю единственный вариант - перегонка этих данных в другой формат. Например, в БД. Других вариантов не представляю.
А файловая система вместо СУБД лично меня не устраивает всем. Начиная от скорости доступа и заканчивая поиском нужной части информации.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Снег Север писал(а):Зачем вообще открывать гигабайтный файл, если не нужна обработка его данных???


Например, справка. Или логи.

Я бы все же использовал readln... открывать такого размера файл целиком безобразие...

resident писал(а):EmEditor спокойно файл открывает

А кто говорит, что он его загружает весь сразу? Загружается только часть файла и по мере прокрутки подгружается новая часть. А начало стирается из памяти. Вспомните, что такое буфер чтения/записи.
stanilar
постоялец
Сообщения: 289
Зарегистрирован: 09.03.2010 18:09:02

Сообщение stanilar »

Лекс Айрин писал(а):Например, справка. Или логи.


А показать этот лог или справку надо? А поиск нужен? А составить и напечатать отчет по логу о проделанной работе? Ну и т.д. Причем для всех озвученных задач есть куча наработок, которые хорошо понимают что такое TDataSet.

Даже если файл - лишь способ обмена информации между приложениями, этот обмен еще отлаживать надо, и делается такая отладка далеко не привычным всем отладчиком (как показывает личный опыт - чаще всего матом, потому что обмен информацией между программами это часть работы со смежниками. Хорошо когда идет обмен с профессиональными продуктами, но для таких задач есть профессиональные компоненты).
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

ИМХО даже для самой простой структуры данных однопользовательская БД, вроде SQLite, предпочтительнее текстового файла во всех случаях, когда надо делать поиск и выборку данных.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

stanilar писал(а):А показать этот лог или справку надо? А поиск нужен? А составить и напечатать отчет по логу о проделанной работе? Ну и т.д. Причем для всех озвученных задач есть куча наработок, которые хорошо понимают что такое TDataSet.

А зачем? Не все то, что лог и справка смотрят. А судя по размеру, этот файл очень долго не смотрели (или очень интенсивная запись в файл). Есть у некоторых привычка смотреть в лог только когда все развалилось.

stanilar писал(а):Даже если файл - лишь способ обмена информации между приложениями,


3 гига для обмена между приложениями? Вы меня таки рассмешили.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Лекс Айрин писал(а):3 гига для обмена между приложениями? Вы меня таки рассмешили.

Позвольте Вас ишшо насмешить, из личной, так сказать, практики. ;-) У нас работает программа просмотра рефератов патентов. Так вот, чтобы заполнить БД этими самыми патентами, разработчики нам выложили текстовый файл ажно 3,3 гигабайта, плюс около 100 ГБ картинок.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Vadim, МПМ.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Лекс Айрин
Дас ист непонимаю. :-)
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Vadim Мысли пачкают мозги.

Вопросов много, поэтому не имеет смысл их задавать.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Лекс Айрин
Вряд ли я на них отвечу. :-)
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Vadim, кто знает...

1) и не лень было такой файл готовить?
2) А программа не могла текст частями получить?
ну и в такой духе...
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Лекс Айрин
На счёт первого пункта - не знаю, не я его готовил. А по второму - так программа текст по частям и получала, каждая строка - одна часть... У них там, у разрабов т.е., добавление данных в базу идёт как раз форматированными текстовыми данными, только обновление ежемесячное и файл там не сильно большой, всего 40...50 МБ. А мне потребовались данные сразу за 6 лет, т.к. я переписал с ноля их глючную программу и когда вопрос встал о переброске данных, то выяснилось, что часть данных в старой БД зашифрована, тот человек, который заведовал шифрованием, давно уволился, нынешние разрабы в этом шифровании ни в зуб ногой, а алгоритм шифрования я смог восстановить лишь частично, т.е. часть данных в процессе дешифровки у меня терялись. Пришлось разрабам пригрозить судебными издержками и они мне, не долго думая, выслали все данные в формате обновления одним файлом. Вот такие вот пироги. :-)
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Vadim, сочувствую. Похоже, тебе просто подгадили напоследок.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Лекс Айрин
Это иллюстрация, чем опасен монополизм. Монополист тебя может кинуть в любой момент и потом хоть судись, хоть вешайся, всё равно больше обратиться не к кому.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Vadim, кидали уже такие... я потом разорялись. Но не будем офтопить.
Ответить