Виртуальная папка из файла C#

Здравствуйте.
Что то в гугле не могу найти похожие статьи.
В общем хочу в программе сделать файл результатов работы, но собранных в одной куче. Было бы хорошо чтобы допустим программа делала виртуальную папку из файла. А для программы это был бы список разных файлов чтобы можно было читать и писать в каждый по отдельности стандартными потоками StreamReader StreamWriter. А со стороны пользователя был бы один большой файл.

Такое вообще возможно?? Где то давно встречал что то типа виртуальных носителей но хочется относительно простое решение без тонны низкоуровневого кода.
Спасибо.

Я слышал про Dokan, FUSE, libgsf, но наверно это не так просто, чтобы делать это без особой необходимости )

Еще нагуглил


но там вроде бы нет готовой внутри файла. Разве что может быть с помощью MemoryFileSystem можно если файлы не большие.

Может проще с SQLite?

А он может выдать stream к данным??
В общем нашел тут класс Package. Это что то из OpenXMLFormat. Позволяет разместить любые данные внутри и предоставляет доступ к потокам. Можно прямо из него читать видеофайл.

Файлы как раз большие. Видео ролик и несколько файлов описательных. Ну и данные приложения для конкретного образца.

PS:
А не подскажите по теме момент: Как удалить данные из потока??
Мне возвращается Stream надо очистить его чтобы записать новый блок. Если удалить и попытаться создать то влетает в ошибку что часть была удалена. А у самого класса потока не нашел очистки.

Это наверно должно происходить при создании стрима. Как в FileStream передается FileMode.Truncate и т.п.
Хотя есть SetLength например.

Это как?

Ну там есть метод DeletePart. Я наивно полагал что можно часть удалить а потом вновь создать. Но Система ругается.

Через него и сделал. 0 передаю. Но чет меня не оставляет сомнение что это костыль какой то. Не будет ли в контейнере ошибок сязанных с разной длиной данных. Или мусора избыточного …
Но в целом вроде нормально работает, все собрал пачкой. Удобно. )))