gpt4 book ai didi

c# - 如何检查文本文件是否正在使用?

转载 作者:行者123 更新时间:2023-11-30 22:17:25 25 4
gpt4 key购买 nike

我有一个文本文件,我想检查它是否已经打开。问题是多次打开文件是可能的,没有异常。

我试过:

stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);

没有异常(exception)。

我也试过

using (Stream stream = new FileStream("MyFilename.txt", FileMode.Open))

也不异常(exception)。

甚至

System.Diagnostics.Process.GetProcessesByName("MyFilename.txt").Length < 1

但即使文件已打开,它也返回 0

MyFilename.txt 只是一个名称,在实际代码中它是实际文件路径。

我可以写什么?

谢谢!恩典

最佳答案

如果记事本没有独占锁定文本文件,那么您需要使用不同的方法

Process[] pList = Process.GetProcessesByName("notepad");
foreach(Process p in pList)
{
if(p.MainWindowTitle.Contains("MyFilename.txt")
......
}

当然这不是万无一失的解决方案。我可以用写字板或其他文本编辑器打开文件,如果没有锁定,我们又遇到同样的问题

但是,如果您成功以独占方式打开文件,那么保存其更改是记事本问题

关于c# - 如何检查文本文件是否正在使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16771291/

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