Задать вопрос

Как создать виртуальную файловую систему на C#?

Добрый день, разрабатываю программу в которой требуется хранить некий набор файлов, по отдельности их будет слишком много и это будет неудобно, хочется все в 1 файле хранить. На вскидку есть варианты с виртуальной файловой системой, но не нашел ни одной бесплатной более менее рабочей реализации, писать с нуля такие вещи не очень надежно выйдет. Может есть идеи как лучше сделать чтобы хранить и работать с кучей файлов, но при этом чтобы на диске хранился только 1?

P.S. архивы типа rar или zip не подходят, т.к. для изменения 1 файла нужно сохранять заново весь архив, что крайне не желательно (файлы в сумме могут весить скажем 1-2Гб). Да и сжатие как таковое значение не имеет потому как можно сжать данные еще на этапе сохранения.

P.S.S. Желательно чтобы был механизм при котором можно обращаться к файлам в "контейнере" на уровне потоков.
  • Вопрос задан
  • 4442 просмотра
Подписаться 6 Оценить 1 комментарий
Решения вопроса 1
@gleb_kudr
SQLite.

Две базы. Один файл для индексов и поиска, второй для хранения тел файлов. С многопоточностью правда могут быть проблемы, но все остальное очень удобно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
fornit1917
@fornit1917
Может быть tar ?
Ответ написан
Комментировать
архивы типа rar или zip не подходят

ZIP без сжатия можно изменять, не переписывая весь архив.
Ответ написан
Комментировать
@SilentFl
Попробуйте System.IO.Packaging.ZipPackage
Ответ написан
Комментировать
@386DX
Читал о Imgdisk virtual disk + .img но до тестирования руки не дошли и за функционал не уверен.
UPD. понял, что вопрос не о том...
Ответ написан
Комментировать
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы