首页 > 解决方案 > 在移动文件之前检查文件是否正在使用

问题描述

我正在*.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;    
}

标签: c#.netvisual-studioio

解决方案


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;    
}

推荐阅读