c# - 在移动文件之前检查文件是否正在使用
问题描述
我正在*.mp4
媒体播放器中播放文件,但同时尝试将文件从一个地方移动到另一个地方,我需要检查文件是否正在被另一个进程访问,我想阻止移动进程。
public Boolean fileInUse(FileInfo file)
{
FileStream stream=null;
try
{
stream = file.Open(FileMode.Open, FileAccess.Read, FileShare.None);
}
catch (IOException)
{
//File is in use
Console.WriteLine("File is Being used");
return true;
}
finally {
if (stream != null) {
stream.Close();
}
}
Console.WriteLine("File is not in use");
return false;
}
解决方案
public Boolean fileInUse(FileInfo file)
{
bool fileInUse = false;
FileStream stream = null;
try
{
stream = file.Open(FileMode.Open, FileAccess.Read, FileShare.None);
stream.Close();
}
catch (IOException)
{
//File is in use
Console.WriteLine("File is Being used");
fileInUse = true;
}
Console.WriteLine("File is not in use");
return fileInUse;
}
推荐阅读
- symfony - 如何在 Symfony 5 中从一个数据库表渲染表单并 POST 到另一个数据库表
- c# - 如何在 c# c sharp 中创建一个二维数组 [n,3] 从用户那里获取字符串输入
- ffmpeg - 使用 ffmpeg 创建一个黑色背景的音乐视频
- vimeo - 即使视频可用,也为 vimeo api 获取 404?
- image - Spring内容,如何在其他页面获取图片
- python - 提取包含列名或表条目中特定字符串的熊猫数据框
- azure-devops - Azure 开发运维。通过运行时变量定义变量组
- python-3.x - 如何在 Python 中将函数放入列表中?
- java - Android片段被另一个片段覆盖
- sass - 如何使用 Vaadin 7 和 maven 编译其他非主题 SCSS 文件