Как создать виртуальный файл и поместить в него контент (поток) с помощью Platform.VirtualFileSystem?
Во-первых, я не совсем понимаю, так называемые Platform.VirtualFileSystem
могу сделать это То, что я хочу для виртуальной файловой системы - это как-то создать виртуальный файл из Stream
(что я уже имел). Система (ОС) сможет получить доступ к этому виртуальному файлу, как если бы он был реальным файлом (прозрачно).
После просмотра иерархии классов Platform.VirtualFileSystem
Я не мог полностью найти что-либо, связанное с тем, что я хочу. Похоже, что я могу связать реальный системный файл с виртуальным файлом, но здесь у меня даже нет реального системного файла, у меня есть только Stream
,
У кого-нибудь есть простой пример, иллюстрирующий это? Как я уже говорил, я даже не знал, поможет ли мне эта библиотека. Поэтому, если у вас есть другие альтернативы, которые могут решить мою проблему, пожалуйста, предложите.
1 ответ
Я скажу, что вы смотрите не на тот инструмент. Platform.VirtualFileSystem
это абстракция различных fs для программы, которая ссылается на Platform.VirtualFileSystem,
, Похоже, что эта абстракция не экспортируется в другие программы.
Что вам нужно, это полная файловая система. Но обратите внимание, что полная файловая система - это полный диск. Вы не создаете файл, вы создаете виртуальный диск с файлом. Смотрите, например, докан.
Одна из вещей, которые он может сделать:
Данные как файл
Легко монтируйте любые данные в виде виртуального файла и получайте к ним прозрачный доступ из всех ваших приложений Windows. Это может быть буквально что угодно: файлы из других мест, хранящиеся локально или удаленно в облаке... Творчество будет вашим пределом.
Обратите внимание, что использование Dokan кажется довольно сложным. Нормальные люди не пишут файловые системы. Наверняка это хоть немного выше моего уровня. Вероятно, вы можете начать с примера файловой системы, доступной только для чтения, для Реестра и оттуда урезать.