读取被另一个进程占用的文件

4

有没有能够读取被另一个进程使用的文件的能力?

谢谢。


2
重复 - https://dev59.com/i3NA5IYBdhLWcg3wNrAy - ChrisF
相关:https://dev59.com/7kfRa4cB1Zd3GeqP70_u - Liran Orevi
3个回答

7

如果进程对文件持有独占锁,则不能读取。如果进程持有共享锁,则可以读取。


3
如果一个进程持有一个共享锁,就可以像这样读取文件: 使用以下代码: using (var stream = new FileStream(@"d:\myfile.xls", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) {...} 请注意,此代码片段中的“FileShare.ReadWrite”参数允许其他进程在保留写入权限的同时读取文件。 - iburlakov

1

根据您想要访问的文件,可以查看卷影副本


0

这取决于其他进程打开文件的方式(即,是否已锁定)。 请记住,在另一个进程正在更改文件时读取该文件可能会产生意外的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接