Ir para conteúdo

Arquivado

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

Dagma Collela

Verificando se uma linha ja foi lida.. Stream

Recommended Posts

Bom Dia! galera estou com umas dificuldade.
Eu uso StreamReader, para ler textos num bloco de notas, que esta delimitados pelo " ; " , neste mesmo bloco de notas eu tenho linhas
totalmente iguais, então queria verificar, se eu já li quela linha, ou seja quero que se a linha for igual a alguma linha que já foi lida, pra ele não ler novamente.

Abaixo vou postar código que estou usando para ler o arquivo.

StreamReader stream = new StreamReader(@"Z:\Internet\avaliacaoparcial.txt");
 
            string linha = null;
 
            AvaliacaoParcialcs lerAvaliacao = new AvaliacaoParcialcs();
 
            while ((linha = stream.ReadLine()) != null)
            {
                string[] coluna = linha.Split(';');
 
                lerAvaliacao.codInstituicao = coluna[0];
                lerAvaliacao.codAluno = coluna[1];
                lerAvaliacao.anoLetivo = coluna[2];
                lerAvaliacao.semestre = coluna[3];
                lerAvaliacao.codDisciplina = coluna[4];
                lerAvaliacao.codEtapa = coluna[5];
                lerAvaliacao.codAvaliacao = coluna[6];
                lerAvaliacao.nomeAvaliacao = coluna[7];
                lerAvaliacao.dtAvaliacao = coluna[8];
                lerAvaliacao.notaConceito = coluna[9];
                lerAvaliacao.observacao = coluna[10];
                lerAvaliacao.flag = coluna[11];
            }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente você vai ter que fazer um if dentro do laço de repetição para verificar se a linha já foi lida. Para isso você vai ter que armazenar linha a linha em um array e depois a cada linha você fará uma estrutura de verificação que vai passar por esse array verificando se a linha existe.

 

Mas isto vai ficar extremamente lento, então compensa mais você deixar ele ler linhas iguais do que verificar se essa linha já foi lida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não posso pq, isso vai inserir direto no banco de dados, dai quando eu for fazer uma consulta ele vai me falar que ta retornando mais de uma linha... e o sistema que importa essas informações que estou lendo, por alguma motivo, ele repete maioria das informações.. Entao nao posso deixar, e isso ai vai ser apenas para atualizar o banco entao vai ser usado 1 vez por dia!.. Obrigado pela dica. vou tentar aqui,

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.