2
respostas

O arquivo tem ler no máximo 5 mil linha

Boa noite, pessoal ! Gostaria de saber como poderia fazer o tratamento para ler até 5000 linha. Não pode ultrapassar mais de 5mil linhas

var enderecoDoArquivo = "contas.txt";
 var fluxoDoArquivo = new FileStream(enderecoDoArquivo, FileMode.Open); 
var buffer = new byte[5000]; // 1 kb 
var numeroDeBytesLidos = -1; 
while (numeroDeBytesLidos != 0) 
{ 
numeroDeBytesLidos = fluxoDoArquivo.Read(buffer, 0, 5000);
If(numeroDeBytesLidos!=5000 )
{ 
Return false 
} else {
Console.WriteLine( numeroDeBytesLidos); 
} 
}
2 respostas

Olá Diego, tudo certo?

Para esse código fica um pouco mais complicado porque teria que verificar cada byte com valor igual a 44 (esse é o valor decimal equivalente ao valor da vírgula na tabela ASCII) e depois contar 20 mil vezes esse caractere, para contabilizar 5 mil linhas e chamar um break; para parar a execução do loop.

Mas lembra da segunda aula, onde você realmente escrevia linha a linha?

Essa me parece uma solução mais simples, afinal, já é escrito no terminal linha a linha. Nisso, você só precisa de uma variável contadora de linhas e colocar uma condição que se for maior ou igual que 4999 (já que o contador começa em 0), execute um break; depois que a linha é escrita e com isso pare a execução na linha de número 5000:

if (linhas >= 4999)
    break;
linhas++;

Ou então faz a verificação se a variável linhas é igual a 5000 antes de executar tudo:

if (linhas == 5000)
    break;
linhas++;

Bom, espero ter ajudado!

Entendi. Como eu chamaria um popup se caso ultrapasse mais de 5 mil, usaria o JavaScprit ou asp.net tem algo que chame esse popup? OBS: Estou desenvolvendo asp.net

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software