在内存中创建一个"目录"?

Zoh*_*led 6 .net c# temporary-files

我正在使用c#,并且正在寻找一种方法来创建一个目录的路径,该目录将映射到IO.Stream而不是实际的文件系统.
我希望能够将文件"保存"到该路径,操作内容或文件名,然后将它们从该路径保存到文件系统中的常规文件.

我知道我可以使用临时文件,但我宁愿使用内存来保证安全性和性能.

根据这个答案Java,使用这个FileSystemProvider类,存在这种事情.我正在寻找一种方法在c#中做到这一点.

我已经尝试了我能想到的每一个搜索,并且只出现了java回答和使用临时文件的建议.
甚至可以使用.net?

基本上,我正在寻找一种方法来启用将文件直接保存到内存,就好像它们保存到文件系统中一样.所以,例如,如果我有第三方类暴露了一个save方法(save(string fullPath)),或类似于SmtpServer.Send(MyMsg) 这个问题的东西,我可以选择该路径并将其保存到内存流而不是驱动器上.(这里的主要是我想提供一个path直接导致a memory stream).

Ond*_*cny 8

.NET在主机操作系统的文件系统上没有抽象层.因此,除非您可以构建自己的自定义代码,并且需要覆盖第三方库,否则只有两个可行的optilns:

  • 使用流并避免任何使用文件名的API.
  • 构建插入主机操作系统存储架构的虚拟文件系统; 然而,所需的努力与福利是非常值得怀疑的.