Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

В файл сохран-ся большое кол-во данных. Как можно уменьшить размер файла

548
10 июня 2008 года
Maximillian_Cavalera
157 / / 16.08.2007
В один текстовый файл сохраняются 4 одномерных массива целых чисел и 1 строковый (итого 5 массивов). Размер каждого массива ~300 000 элементов. В файл могут быть записаны массивы как полностью так и незначительная часть элементов. В результате размер файла получается достаточно большой. Как можно уменьшить размер файла.
5
10 июня 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Maximillian_Cavalera
Как можно уменьшить размер файла.


  1. Если используется файловая система NTFS, то можно включить сжатие этого файла. Как из Проводника, так и программно (подробнее в МСДНе).
  2. Применить некоторый алгоритм сжатия данных, например использовать библиотеку zlib или lzma-сжатие 7-zip'а.
  3. Использовать другой способ записи данных. Например отказаться от текстового формата (объем уменьшится на порядок).
548
11 июня 2008 года
Maximillian_Cavalera
157 / / 16.08.2007
Цитата: hardcase
  1. Использовать другой способ записи данных. Например отказаться от текстового формата (объем уменьшится на порядок).


А какие бывают ещё способы?

1.6K
11 июня 2008 года
Vov4ick
476 / / 01.02.2007
Записывать в файл данные в том виде, в котором они нужны программе. У вас ведь числа не в текстовом виде обрабатываются?
548
11 июня 2008 года
Maximillian_Cavalera
157 / / 16.08.2007
Цитата: Vov4ick
Записывать в файл данные в том виде, в котором они нужны программе. У вас ведь числа не в текстовом виде обрабатываются?


А как это можно сделать?

5
11 июня 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Maximillian_Cavalera
А как это можно сделать?

BlockWrite

548
11 июня 2008 года
Maximillian_Cavalera
157 / / 16.08.2007
А что такое BlockWrite
5
11 июня 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Maximillian_Cavalera
А что такое BlockWrite

Если я не ошибаюсь, вы выполняете разработку приложения в среде Delphi. Обратитесь к документации этой замечательной IDE и многие вопросы разрешатся сами собой.

Вы спрашиваете, как можно записать данные в двоичной форме, я ответил вам, назвав имя функции, посчитав этот ответ достаточным. Видимо нет.
В Delphi существует два способа файлового ввода-вывода:
1) классический, через файловые переменные и различные вариации Read\Write для типизированных данных фиксированного размера и BlockRead\BlockWrite для данных произвольного размера.
2) потоковый, при котором используется абстракция TStream в реализации TFlieStream

По производительности они эквивалентны.

Ваша задача сотоит в выборе наиболее удобного для вас способа и разработке структуры вашего двоичного формата файла.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог