在c#中一次写入两个以上的文本文件

本文关键字:两个 文件 文本 一次 | 更新日期: 2023-09-27 18:14:40

我试图用c#一次写两个文件。辅助文件夹的位置不断变化,我可能需要一次将输出写到三个或更多的文件夹中。最好的方法是什么?

我目前有函数Output(string s),它使用StreamWriter写入特定的静态位置。我想我可以在Output的末尾添加一个syncFolder(string[] folderPaths)函数,它将更新文件夹2,3,4,…的内容(文件夹和文本文件)。看起来和文件夹1一模一样。

这是最好的方法吗?如果是这样,我该如何同步这些文件夹?

在c#中一次写入两个以上的文本文件

您可以使用类似于各种跟踪和日志库的方法,其中您有数据源类,数据接收器类,并将它们与第三组配置/布局/渲染器类绑定在一起。

在关系术语中,这将启用多对多关系。

流读取器和写入器可以用于此,但我认为它们被设计为1对1耦合。

您想要研究的设计模式是观察者模式。在c#中,这是通过事件实现的。这可能不是世界上最快的解决方案(由于对源的每次调用都需要委托调用),但它肯定是最灵活的。它还应该适应异步sink排水