重定向将文件写入流C#

时间:2009-08-24 10:25:21

标签: c# .net file stream filestream

我想询问是否可以将写入重定向到特定文件,重定向到应用程序中的内存流,以便我可以立即读取它。 如果可能,请说明如何操作。

感谢。

3 个答案:

答案 0 :(得分:4)

确保您的应用程序与Stream一起使用,然后您可以使用MemoryStream具体实现来完成没有文件的流式传输。

答案 1 :(得分:2)

您需要的是一个写入文件的流以及您正在观看的另一个流 - 一个流分割器,在Unix世界中通常称为tee

对于.NET,您可以使用流分割器的this implementation。将它传递给FileStream(以便将文件写入),对于第二个流,传递Stream实现,该实现在写入流时执行任何您想要的操作(例如,{的子类已覆盖MemoryStream方法的{1}}。

更新:我从您的评论中看到我的答案不是您所需要的 - 我没有从原始问题中发现您无法控制应用程序写入文件。

为了获得这种控制,为了获得最好的控制,您需要转到拦截系统调用的低级驱动程序 - 就像FileMon一样。对于稍微少一点的控制,您可以使用System.IO.FileSystemWatcher

答案 2 :(得分:0)

我不知道如何以您说的方式执行此操作,但您可以使用FileWatcher来挂接文件。如果写给你的信息会被通知,你可以阅读。