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 :)

Exercícios Resolvidos de Introdução aos arquivos

Ver Teoria