我想询问是否可以将写入重定向到特定文件,重定向到应用程序中的内存流,以便我可以立即读取它。 如果可能,请说明如何操作。
感谢。
答案 0 :(得分:4)
确保您的应用程序与Stream
一起使用,然后您可以使用MemoryStream
具体实现来完成没有文件的流式传输。
答案 1 :(得分:2)
您需要的是一个写入文件的流以及您正在观看的另一个流 - 一个流分割器,在Unix世界中通常称为tee
。
对于.NET,您可以使用流分割器的this implementation。将它传递给FileStream
(以便将文件写入),对于第二个流,传递Stream
实现,该实现在写入流时执行任何您想要的操作(例如,{的子类已覆盖MemoryStream
方法的{1}}。
更新:我从您的评论中看到我的答案不是您所需要的 - 我没有从原始问题中发现您无法控制应用程序写入文件。
为了获得这种控制,为了获得最好的控制,您需要转到拦截系统调用的低级驱动程序 - 就像FileMon一样。对于稍微少一点的控制,您可以使用System.IO.FileSystemWatcher。
答案 2 :(得分:0)
我不知道如何以您说的方式执行此操作,但您可以使用FileWatcher来挂接文件。如果写给你的信息会被通知,你可以阅读。