Oi, tudo bem? Feliz natal a todos!
Acho que encontrei uma outra solução viável para o problema da reescrita de coisas antigas do buffer no Console. Ao invés de passar a quantidade de bytes lidos para o método estático EscreverBuffer, bastaria fazer a declaração do array buffer dentro do while. Desta forma, a cada execução do laço, o buffer está vazio. Segue o código com essa possibilidade.
var enderecoDoArquivo = "contas.txt";
using (var fluxoDoArquivo = new FileStream(enderecoDoArquivo, FileMode.Open))
{
var numeroDeBytesLidos = -1;
while (numeroDeBytesLidos != 0)
{
var buffer = new byte[1024];
numeroDeBytesLidos = fluxoDoArquivo.Read(buffer, 0, 1024);
Console.WriteLine($"Quantidade de bytes lidos: {numeroDeBytesLidos}");
EscreverBuffer(buffer, numeroDeBytesLidos);
}
}
A execução final será a mesma do exemplo, porém, sem precisar passar pra frente o número de bytes lidos.
Desta forma, haveria alguma queda no desempenho da aplicação ou algo do gênero?
Abraços!!