none
Verificar se arquivo está sendo usado em outro processo RRS feed

  • Pergunta


  • Tenho um programa que grava dasdos em um arquivo texto. Mas este arquivo eventualmente é utilizado em outra parte do programa. A contece que as vezes quando o programa tenta gravar no arquivo, ele está inacessível visto que o arquivo está sendo utilizado por outro processo. Alguém sabe como posso verificar se o arquivo está ou não sendo usado por algum processo?
    quarta-feira, 3 de junho de 2009 20:32

Respostas

  • Canuto,

    Crie este método que verifica se o seu arquivo está aberto.

    public bool IsFileOpen(string filePath)
    {
         bool fileOpened = false;
         try
        {
             System.IO.FileStream fs = System.IO.File.OpenWrite(filePath);
             fs.Close();
         }
         catch(System.IO.IOException ex)
         {
              fileOpened = true;
          }

          return fileOpened ;
    }

    []s
    Marco Aurélio Gerônimo

    Obs: Se o seu tópico for respondido, não esqueça de marcar como RESPOSTA.
    Marco
    • Marcado como Resposta Canuto quinta-feira, 4 de junho de 2009 19:35
    quarta-feira, 3 de junho de 2009 20:42

Todas as Respostas

  • Canuto,

    Crie este método que verifica se o seu arquivo está aberto.

    public bool IsFileOpen(string filePath)
    {
         bool fileOpened = false;
         try
        {
             System.IO.FileStream fs = System.IO.File.OpenWrite(filePath);
             fs.Close();
         }
         catch(System.IO.IOException ex)
         {
              fileOpened = true;
          }

          return fileOpened ;
    }

    []s
    Marco Aurélio Gerônimo

    Obs: Se o seu tópico for respondido, não esqueça de marcar como RESPOSTA.
    Marco
    • Marcado como Resposta Canuto quinta-feira, 4 de junho de 2009 19:35
    quarta-feira, 3 de junho de 2009 20:42
  • Caro
    Marco A.Geronimo

    Obrigado pela dica.
    Eu, usei o exemplo que vc postou,
    com algumas minimas modificações, e deu tudo certo.


    Canuto
    quinta-feira, 4 de junho de 2009 19:40