Olá, estudante.
Tudo bem?
O que pode estar acontecendo é que o FileStream
está bloqueando o arquivo para leitura e escrita devido ao modo de abertura que você está utilizando.
Quando você usa FileMode.Open
, o arquivo é aberto apenas para leitura. Se você deseja modificar o arquivo enquanto a aplicação está rodando, você deve abrir o arquivo com um modo que permita escrita, como FileMode.OpenOrCreate
ou FileMode.Append
, dependendo do que você deseja fazer.
Aqui está um exemplo de como você pode abrir o arquivo para leitura e escrita:
using (var fluxoDoArquivo = new FileStream(enderecoDoArquivo, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
var buffer = new byte[1024]; // 1 kb
int numeroDeBytesLidos;
while ((numeroDeBytesLidos = fluxoDoArquivo.Read(buffer, 0, buffer.Length)) > 0)
{
EscreverBuffer(buffer);
}
// Exemplo de escrita no arquivo
string textoParaAdicionar = "Novo texto a ser adicionado ao arquivo.";
byte[] bytesParaAdicionar = System.Text.Encoding.UTF8.GetBytes(textoParaAdicionar);
fluxoDoArquivo.Write(bytesParaAdicionar, 0, bytesParaAdicionar.Length);
}
Neste exemplo, o FileStream
é aberto com FileMode.OpenOrCreate
e FileAccess.ReadWrite
, permitindo tanto leitura quanto escrita. Dessa forma, você pode ler o conteúdo do arquivo e também escrever nele enquanto a aplicação está rodando.
Espero ter ajudado e bons estudos!