Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RodrigoT

[Resolvido] O arquivo já está sendo usado por outro processo

Recommended Posts

Olá pessoal.

Estou fazendo uma aplicação em C# com verificação de pastas.

 

Em um certo momento, minha aplicação deve checar se um arquivo existe. Se não existe, ele é criado.

Depois disso eu preciso ler a primeira linha desse arquivo e ver se o caminho que está dentro dele é igual ao que foi passado por parametro.

 

Segue abaixo uma parte do código:

 

static void VerificaArquivo(int numero, string PastaAtual)
    {
        FileInfo VerifArq = new FileInfo(@"C:\MonitPastas\Arq" + numero.ToString() + ".txt");
        if (!VerifArq.Exists)
        {
            VerifArq.Create();
        }
        
        // Aqui está dando erro que o arquivo já está sendo usado por outro processo...
        StreamReader LeArq = new StreamReader(@"C:\MonitPastas\Arq" + numero.ToString() + ".txt");

        string PastaLida = "";
        PastaLida = LeArq.ReadLine();

        if (!PastaAtual.Equals(PastaLida))
        {
            LeArq.Close();
            
            VerifArq.Delete();
            VerifArq.Create();
            StreamWriter EscArq = new StreamWriter(@"C:\MonitPastas\Arq" + numero.ToString() + ".txt");
            EscArq.WriteLine(PastaAtual);
            LeArq.Close();
        }
    }

O "FileInfo" está "prendendo" o arquivo, pois quando preciso usar o StreamReader ele diz que já está sendo usado...

Há uma maneira mais fácil de resolver?

Se tivesse um jeito de fazer o FileInfo "soltar" o arquivo, seria mais fácil... mas não tem a opção Close() para ele.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.