Checar se um arquivo está sendo utilizando – c#

0

Trabalhar com arquivos no c# as vezes pode ser bem trabalhoso. Com isto resolvi postar uma solução bem simples para quem deseja verificar se um arquivo está disponível para escrita/leitura no tempo de execução.

Veja:

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

    try
    {
        stream = file.Open(FileMode.Open, FileAccess.Read, FileShare.None);
    }
    catch (IOException)
    {
        //o arquivo está indiposnível pelas seguintes causas:
        //está sendo escrito
        //utilizado por uma outra thread
        //não existe ou sendo criado
        return true;
    }
    finally
    {
        if (stream != null)
            stream.Close();
    }

    //arquivo está disponível
    return false;
}

 

Simples não?

Um grande abraço a todos!

Compartilhe.