gpt4 book ai didi

c#检查文件是否打开

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

我需要验证特定文件是否打开以防止复制该文件。

我尝试了很多示例,但都不起作用!例如,我尝试这样做:

protected virtual bool IsFileLocked(FileInfo file)
{
FileStream stream = null;

try
{
stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);
}
catch (IOException)
{
//the file is unavailable because it is:
//still being written to
//or being processed by another thread
//or does not exist (has already been processed)
return true;
}
finally
{
if (stream != null)
stream.Close();
}

//file is not locked
return false;
}

我需要方向……我在哪里失败了?有什么建议吗?

最佳答案

如果您想知道您的应用程序是否已经打开了文件,您只需将FileStream 保存在一个字段中,并将该字段重置为null 当您关闭流时。然后你可以简单地测试并获取文件的FileStream

如果您想知道另一个应用程序是否已经打开了该文件,那么您无能为力。当您尝试打开文件时,您可能会遇到异常。但即使您知道,您也无法阻止该文件的复制,因为您没有对该文件或其 FileStream 的引用你的申请。

关于c#检查文件是否打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749020/

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