我可以简单地“读取”正在使用的文件吗?

2024-04-05

我正在尝试使用 StreamReader 来读取文件,但它总是被另一个进程使用,所以我收到此错误:

该进程无法访问该文件 '\arfjwknasgmed17\C$\FLAG CONDITION\CP-ARFJN-FLAG.XLS' 因为 它正在被另一个进程使用。

有没有一种方法可以让我在不复制的情况下阅读它?或者这是我唯一的选择?


仅当打开该文件的程序首先指定该文件的读取共享权限时,您才可以读取该文件。

如果该文件确实没有读取共享权限,那么您一开始就无法复制它。

如果您指定的共享权限与已打开文件的程序的共享权限冲突,您可能无法访问该文件。例如,如果已打开该程序的程序未授予写访问权限,则您无法授予写访问权限。

如果首先打开该文件的程序支持卷影复制 (VSS),您还可以使用 VSS 来访问该文件。

有一些商业软件驱动程序允许您访问此类文件,即使它们正在使用中也是如此。您以前可以使用 St-Bernards 的 Open File Manager,也可以使用文件访问管理器 (FAM) http://www.vwsolutions.com/FAM/由 VisionWorks Solutions Inc. 提供。这些驱动程序通常由备份软件公司 OEM 提供,以包含在其产品中。

VSS 的工作原理是告诉已打开文件的程序另一个程序想要读取该文件。然后,VSS 会复制该文件并让您从此副本中读取内容。 VSS 不适用于遗留应用程序。

FAM 通过指定可以访问以独占方式打开和锁定的文件的应用程序“允许列表”,透明地适用于旧版和非旧版程序。仅允许此列表中的程序访问这些文件。打开文件时,它会进入缓存模式,以便您获得文件“备份/打开”开始时的副本。此时,最初打开该文件的程序会看到该文件的实际情况,而允许列表中的第二个程序会看到该文件发生“打开/备份”时的情况。这确保了文件的一致性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以简单地“读取”正在使用的文件吗? 的相关文章

随机推荐