Exercícios Resolvidos de Introdução aos arquivos

Ver Teoria

Enunciado

Suponha que você trabalha em uma empresa que armazena alguns dos dados de seus clientes em um arquivo denominado “dadosImportantes.txt”.

Em um determinado dia, devido a uma integração dos sistemas da empresa, a sua equipe foi designada a criar um programa capaz de atualizar todos os dados presentes nesse arquivo para um novo formato de armazenamento. Sendo assim, um de seus colegas de equipe decidiu iniciar o desenvolvimento desse programa.

Após alguns dias, esse mesmo colega te mostrou o seguinte código:

Após uma breve análise no código do programa, você identificou uma falha capaz de comprometer todos os dados presentes no arquivo.

Que falha é essa e qual alteração deve ser feita nesse código para que os dados sejam acessados e atualizados com segurança?

Passo 1

Bom, vamos começar com a primeira pergunta, qual é a falha que compromete os dados desse arquivo?

Quando nós analisamos a abertura do arquivo “dadosImportantes.txt”:

Percebemos que o mesmo foi aberto no modo de leitura e gravação que possui as seguintes regras:

  • Se o arquivo não existe, o mesmo é criado e aberto (não é o nosso caso).
  • Se o arquivo existe, o mesmo é aberto e todo o seu conteúdo é apagado (é o nosso caso).

Sendo assim, se esse programa for executado, nós perderemos todos os dados dos nossos clientes, pois o mesmo foi será aberto no modo w+.

Passo 2

Vamos agora para a segunda pergunta, como resolvemos esse problemão?

Simples, como o arquivo existe e não precisa ser criado, podemos utilizar o modo de abertura r+, que abrirá o arquivo tanto para leitura quanto para gravação.

A seguir temos o código alterado:

E pronto, com essa simples atualização nenhum dado será perdido! (e ninguém será demitido)

Resposta

Ei, a resposta está no passo a passo :)