【发布时间】:2017-03-07 12:12:14
【问题描述】:
某些程序(Paint 等图像程序、记事本和写字板等文本编辑器等)打开文件,将内容加载到内存中,然后释放文件锁定。有没有办法判断程序是否正在使用该文件,即使它没有被锁定?
例如,即使 image1.bmp 在 Paint 中打开,我的程序也可以覆盖磁盘上的 image1.bmp 副本,因为该文件没有被锁定。现在,在 Paint 中打开的 image1.bmp 副本与磁盘上的 image1.bmp 副本不同。
我的程序是用 C# 编写的。我通常使用这种方法来检查文件是否被锁定,但在上述情况下它不起作用。 Is there a way to check if a file is in use?
有什么解决办法吗?
【问题讨论】:
-
我引用了上面的链接。该解决方案仅在文件被锁定时才有效
-
好的,这样更好
-
不,你可以这样做。由于文件被关闭(并且锁被释放),内存中的文件和数据之间没有链接。
标签: c# file-io file-locking filelock