RodrigoT 0 Report post Posted February 13, 2010 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! Share this post Link to post Share on other sites
quintelab 91 Report post Posted February 14, 2010 RodrigoT, seja bem vindo ao Fórum iMasters, conheça nossas regras: Regras do Fórum Utilize o Dispose, pode resolver. Abraços... Share this post Link to post Share on other sites