gpt4 book ai didi

c# - 删除文件 - 跳过正在使用的文件

转载 作者:行者123 更新时间:2023-12-03 22:01:52 27 4
gpt4 key购买 nike

我正在尝试删除目录中的文件,但在尝试删除当前正在使用的文件时出现错误。有没有办法跳过当前正在使用的文件并删除其余文件?谢谢。

foreach(var file in Directory.GetFiles(tempPath))
{
File.Delete(file);
}

这是我到目前为止的代码,不知道如何去做。

最佳答案

可以通过try catch来检查

private bool IsLocked(string filePath)
{

FileInfo f = new FileInfo(filePath);
FileStream stream = null;

try
{
stream = f.Open(FileMode.Open, FileAccess.Read, FileShare.None);
}
catch (IOException ex)
{
return true;
}
finally
{
if (stream != null)
stream.Close();
}
return false;
}


public void RemoveFile(string folderPath)
{
foreach (var file in Directory.GetFiles(folderPath))
{
if (!IsLocked(file))
{
File.Delete(file);
}
}
}

关于c# - 删除文件 - 跳过正在使用的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53361930/

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