none
Como ler linha por linhha de um arquivo .txt????

    Pergunta

  • Boa tarde pessoal, preciso fazer um programa para ler um arquivo txt. isso eu consigo fazer, mais agora eu preciso ler cada linha desse arquivo, por ex: o arquivo possui 100 linhas, eu preciso ler uma por uma e executar uma função a cada leitura, como posso fazer????

    as linhas são parecidas e cada linha termina com ");" no final, alguem sabe como eu posso ler a linha?????
    sexta-feira, 14 de março de 2008 20:02

Respostas

  • Você pode ler o arquivo inteiro e quebrar as linhas depois:

    string conteudo;
    using (StreamReader sr = new StreamReader(@"C:\Program.cs"))
    {
       conteudo = sr.ReadToEnd();
       string[] linhas = conteudo.Split('\n');
       foreach (string linha in linhas)
       {
           ExecutaFuncao(linha);
       }
    }


    Outra maneira é ler linha a linha:

    using (StreamReader sr = File.OpenText(@"C:\Program.cs"))
    {
    string linha;
    while ((linha = sr.ReadLine()) != null)
    {
    ExecutaFuncao(linha);
    }
    }

    Bruno
    sábado, 15 de março de 2008 10:53
  • Acredito que isto possa resolver seu problema:

     

    Code Snippet

    public static void Main()

    {

    LerDoArquivo("c:\\Arquivo.txt");

    }

     

    static void LerDoArquivo(string arquivo)

    {

    StreamReader SR;

    string S;

    SR=File.OpenText(arquivo);

    S=SR.ReadLine();

    while(S!=null)

    {

    Console.WriteLine(S);

    S=SR.ReadLine();

    }

    SR.Close();

    }

     

     

     

    na linha denotada em vermelho S receberá uma string com o valor da linha atual, dai é só executar o que você quiser.

     

     

    domingo, 16 de março de 2008 18:18
  • Using System.IO;

    ...

    ...

    ...

    Code Snippet

    public  void lerArquivo(string caminhoArquivo) // Ex: caminhoArquivo = "c:\\arquivo.txt"

    {

    StreamReader srArquivo = new StreamReader(caminhoArquivo);

    string Linha;

     

    while((linha = srArquivo.ReadLine())!=null) // enquando a string linha recebe algo diferente de null

    {

    //executa o processamento da linha

    MessageBox.Show("Linha atual:\n" + linha");

    }

    }

     

     

     

    Esta é uma forma.

     

    abraços!

    segunda-feira, 17 de março de 2008 19:46

Todas as Respostas

  • Você pode ler o arquivo inteiro e quebrar as linhas depois:

    string conteudo;
    using (StreamReader sr = new StreamReader(@"C:\Program.cs"))
    {
       conteudo = sr.ReadToEnd();
       string[] linhas = conteudo.Split('\n');
       foreach (string linha in linhas)
       {
           ExecutaFuncao(linha);
       }
    }


    Outra maneira é ler linha a linha:

    using (StreamReader sr = File.OpenText(@"C:\Program.cs"))
    {
    string linha;
    while ((linha = sr.ReadLine()) != null)
    {
    ExecutaFuncao(linha);
    }
    }

    Bruno
    sábado, 15 de março de 2008 10:53
  • Acredito que isto possa resolver seu problema:

     

    Code Snippet

    public static void Main()

    {

    LerDoArquivo("c:\\Arquivo.txt");

    }

     

    static void LerDoArquivo(string arquivo)

    {

    StreamReader SR;

    string S;

    SR=File.OpenText(arquivo);

    S=SR.ReadLine();

    while(S!=null)

    {

    Console.WriteLine(S);

    S=SR.ReadLine();

    }

    SR.Close();

    }

     

     

     

    na linha denotada em vermelho S receberá uma string com o valor da linha atual, dai é só executar o que você quiser.

     

     

    domingo, 16 de março de 2008 18:18
  • Using System.IO;

    ...

    ...

    ...

    Code Snippet

    public  void lerArquivo(string caminhoArquivo) // Ex: caminhoArquivo = "c:\\arquivo.txt"

    {

    StreamReader srArquivo = new StreamReader(caminhoArquivo);

    string Linha;

     

    while((linha = srArquivo.ReadLine())!=null) // enquando a string linha recebe algo diferente de null

    {

    //executa o processamento da linha

    MessageBox.Show("Linha atual:\n" + linha");

    }

    }

     

     

     

    Esta é uma forma.

     

    abraços!

    segunda-feira, 17 de março de 2008 19:46
  • Olá Bruno, Marcio e Glaudson, das três formas funcionaram, muito obrigado a todos, valeu.
    terça-feira, 18 de março de 2008 12:02