Здравствуйте!
У меня такая ситуация: есть проект в C++ Builder, при работе которого будет использоваться группа файлов - это несколько вордовских документов, несколько баз данных и один текстовый файл. Можно ли объединить эту группу файлов в один файл со своим расширением? Если да, то как потом научить проект считывать информацию из этого файла?
Пока я надумал только к использование архивов; при работе проекта архив будет извлекаться во временную папку, после файлы пойдут назад в архив, а временная папка удалится, но мне не особо нравится этот вариант.
Другие языки программирования и технологии
Создание файла со своим расширением
Можно например сделать свой формат архива без сжатия.. . И вначале сделать например индексацию архива типа.. .
"Название Файла"<Смещение от начала файла>"Название следующего Файла"<Смещение от начала файла>
поскольку Hex код [00] не встречается в названии фала его можно использовать как разделитель, а смещение может иметь тип без знаковое целое число размером например 4 байта. После чего название следующего файла, И код заголовка будет выглядеть так
"Название файла"00xxxxxxxx"Название следующего файла"00xxxxxxxx
И завершить индексы например кодом ffffffff
здесь xxxxxxxx - это шестнадцатеричное представление числа смещение.
При чтении определенного файла из архива, программа ищет его в заголовке, находит, считывает "смещение", и считывает данные смещаясь на "смещение" относительно начала файла.
Можно в принципе так предварительно его скопировать во временный каталог и работать как с обычным файлом, но лучше сразу использовать данные.
"Название Файла"<Смещение от начала файла>"Название следующего Файла"<Смещение от начала файла>
поскольку Hex код [00] не встречается в названии фала его можно использовать как разделитель, а смещение может иметь тип без знаковое целое число размером например 4 байта. После чего название следующего файла, И код заголовка будет выглядеть так
"Название файла"00xxxxxxxx"Название следующего файла"00xxxxxxxx
И завершить индексы например кодом ffffffff
здесь xxxxxxxx - это шестнадцатеричное представление числа смещение.
При чтении определенного файла из архива, программа ищет его в заголовке, находит, считывает "смещение", и считывает данные смещаясь на "смещение" относительно начала файла.
Можно в принципе так предварительно его скопировать во временный каталог и работать как с обычным файлом, но лучше сразу использовать данные.
если у тебя работа с MS сущностями - можно воспользоваться технологиями от майкрософт.
по сути все документы MS Office являются контейнерами, содержащими данные OLE объектов.
Ну и технология есть соответствующая для работы с контейнерами - OLE Compound Files
http://www.newobjects.com/pages/ndl/storagesandfiles/SF-OLEFiles.htm
p.s хотя может в последних офисах и переиграли что-нибудь
по сути все документы MS Office являются контейнерами, содержащими данные OLE объектов.
Ну и технология есть соответствующая для работы с контейнерами - OLE Compound Files
http://www.newobjects.com/pages/ndl/storagesandfiles/SF-OLEFiles.htm
p.s хотя может в последних офисах и переиграли что-нибудь
Твой вариант правельный, даже в плане того, что место будет экономить.
Есть специальные библиотеки для работы с зип архивами, что даже извлекать самому не нужно.
Есть специальные библиотеки для работы с зип архивами, что даже извлекать самому не нужно.
Похожие вопросы
- Как определить что файл имеет зеркальное расширение? Особенно полезно будет для школьников и пожилых людей
- Как искать и удалить файлы с определенным расширениям?
- Знатоки! Прошу подсказать как изменить цвет фона вокруг светлого поля при создании файла Paint
- Разве ПХП определяет тип файла только по расширению? Других вариантов у него нет?
- Перечислить все файлы в C: \, расширение которых содержит X и сортировать результаты по размеру. cmd.exe
- А мона сделать Создание файла autorun.inf для CD- и DVD-дисков. ток на флехе!! ток с исходником
- Скажите плиз Создание и эксплуатация своего сайта?
- Для передачи файлов в печать в типографию достаточно чтобы эти файлы имели расширение PDF?
- С помощью какой программы можно открыть файл с расширением .dll
- подскажите программу которая много файлов с расширением .txt будет менять им расширение на .rar