gpt4 book ai didi

C# 访问锁定的文件

转载 作者:太空狗 更新时间:2023-10-30 01:25:33 24 4
gpt4 key购买 nike

我想通过 C# 访问一个文件,该文件是通过其他程序创建并仍在处理的。
目前我正在通过 Windows 资源管理器将文件复制到不同的位置,然后使用副本进行工作。由于副本很大,我更愿意直接使用原始文件。有什么办法吗?
普通的 FileStream 不允许任何共享访问模式。我可以控制这两个程序,因此如果需要,我也可以更改编写器。

最佳答案

您需要确保进行写入和读取的程序设置了正确的 FileShare,因此您需要将 FileShare.Read 传递给程序写入的 FileStream 构造函数:

new FileStream("C:/Users/phil/tmp.txt",FileMode.Create,FileAccess.Write,FileShare.Read)

您还需要确保为正在读取它的程序启用了 FileShare.ReadWrite:

new FileStream("C:/Users/phil/tmp.txt",FileMode.Open,FileAccess.Read,FileShare.ReadWrite)

这将导致 FileStream 构造函数对文件本身放置正确的锁。

您可以在 msdn 上找到有关构造函数的更多信息:http://msdn.microsoft.com/en-us/library/5h0z48dh.aspx (还有其他重载也采用 FileShare 参数)

关于C# 访问锁定的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6678381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com