正在写入的访问文件

时间:2014-11-13 07:24:16

标签: c# file-io filestream

我们计划将门户网站从一个平台(A)迁移到另一个平台(B),为此,供应商提供了一个实用程序,用于为A生成XML,我们将使用它来迁移到B.

现在这个实用程序有一个错误,在生成相关的XML之后,它不会终止,而是继续向它添加静态垃圾节点。

为此,我正在编写一个C#实用程序,以便在XML开始获取垃圾节点时终止应用程序。

我是否可以访问已经写入的文件,并确保它不会出错

var fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 

另外,只是为了确认,在写入文件时,新内容会附加到现有文件中,并且它不会先刷新所有内容然后再写入更新的内容。(我几乎可以肯定我是对的在此)。

2 个答案:

答案 0 :(得分:0)

这取决于实用程序是否始终以写入模式打开文件。它可以以块的形式处理内存中的数据,然后以块的形式写入文件,但更可能只是保持文件打开以进行写入,使其保持锁定状态。在这种情况下,在实用程序释放锁之前,您无法从中读取它。

答案 1 :(得分:-1)

用户模式文件系统怎么样?例如this driver supports .NET extensions。我们的想法是为文件系统驱动程序创建一个代理,它将拦截应用程序的所有写入/刷新操作。