使用MemoryStream创建文件并保存到其中

5

如何使用内存流创建文件并写入?我需要使用内存流来防止其他线程尝试访问该文件。

我要保存到文件中的数据是HTML格式的。

如何实现?


那么为什么不直接将数据保存到内存流中呢? - Eugene Mayevski 'Callback
你是什么意思?我希望数据被保存在一个文件中。 - Yustme
文件在创建后是否可能被修改? - vc 74
不知何故,我可以看到很多关于“无法访问文件,因为它正在被另一个进程使用”的错误日志。 - Yustme
你确定你是以读取模式打开文件的吗? - vc 74
显示剩余2条评论
2个回答

10

假设您是想将文件内容复制到内存流中:

如果您使用的是4框架:

var memoryStream = new MemoryStream();

using var fileStream = new FileStream(FilePath, FileMode.Open, FileAccess.Read);
fileStream.CopyTo(memoryStream);

传入的数据来自于一个网页浏览器控件。这个网站的HTML内容将被转换为字符串并保存到文件中。但在此之前,我会进行一些字符串操作,例如删除不需要保存的Flash和JavaScript等内容。 - Yustme

3
这里是创建文件的代码。
byte[] data = System.Text.Encoding.ASCII.GetBytes("This is a sample string");
System.IO.MemoryStream ms = new System.IO.MemoryStream();
ms.Write(data, 0, data.Length);
ms.Close();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接