RodrigoT 0 Denunciar post Postado Fevereiro 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! Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Fevereiro 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... Compartilhar este post Link para o post Compartilhar em outros sites