[英]Redirect writes to a file to a stream C#
我想问一下是否可以将写入重定向到特定文件,应用程序中的内存流,以便我可以立即读取它。 如果可能的话,请说明如何操作。
谢谢。
确保您的应用程序可与Stream
,然后可以使用MemoryStream
具体实现在没有文件的情况下完成流传输。
您需要的是一个流,该流既可以写入文件,也可以写入另一个正在观看的流-流拆分器,在Unix世界中通常称为tee
。
对于.NET,您可以使用流拆分器的此实现 。 向其传递一个FileStream
(以便将文件写入),并为第二个流传递一个Stream
实现,该实现将在写入Stream
执行所需的任何操作(例如,具有重写Write
方法的MemoryStream
的子类)。
更新:我从您的评论中看到我的答案不是您所需要的-从您最初的问题中我没有意识到您无法控制应用程序向文件的写入。
为了获得这种控制,要获得最佳控制,您将需要使用低级驱动程序来拦截系统调用-就像FileMon一样。 要稍微减少控制量,可以使用System.IO.FileSystemWatcher 。
我不知道该如何使用您所说的方式,但是您可以使用FileWatcher来挂接文件。 如果将其书面通知您,您可以阅读。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.