static void UsarStreamDeEntrada()
{
using (var fluxoDeEntrada = Console.OpenStandardInput())
using (var fs = new FileStream("testandoConsole.txt", FileMode.Create))
{
var buffer = new byte[1024];
while (Console.ReadKey().Key != ConsoleKey.Escape)
{
var bytesLidos = fluxoDeEntrada.Read(buffer, 0, 1024);
fs.Write(buffer, 0, bytesLidos);
fs.Flush();
Console.WriteLine($"Bytes lidos: {bytesLidos}");
}
}
}
Coloquei a condição para o laço do while continuar enquanto o esc não for pressionado.
A questão é que com esse ajuste, o primeiro caractere de cada linha é sempre cortado. Ao escrever teste, o arquivo salvo no testandoConsole.txt aparece como este. E isso ocorre em todas as linhas escritas.
Algum motivo pra isso acontecer? E como resolver isso?