Usando Arquivos como Armazenamento Simples
Deslize para mostrar o menu
Até agora, você aprendeu como:
- Ler dados de um arquivo;
- Escrever dados em um arquivo;
- Adicionar novo conteúdo.
Agora é o momento de usar arquivos como um sistema de armazenamento simples.
Por Que Precisamos de Dados Estruturados
Armazenar texto simples não é suficiente para aplicações reais.
Por exemplo:
First note
Second note
Isso é difícil de gerenciar porque:
- Não é possível atualizar facilmente uma nota específica;
- Não é possível organizar os dados;
- Não é possível adicionar informações extras.
Usando JSON para Armazenamento
Para armazenar dados estruturados, utilizamos JSON.
JSON se parece com um objeto JavaScript:
[
{ "text": "First note" },
{ "text": "Second note" }
]
Esse formato permite:
- Armazenar múltiplos itens;
- Organizar os dados de forma clara;
- Trabalhar com eles no código.
Passo 1: Ler Dados de um Arquivo
const fs = require('fs');
const data = fs.readFileSync('notes.json', 'utf-8');
Isso retorna uma string.
Passo 2: Converter JSON para JavaScript
const notes = JSON.parse(data);
Agora notes é um array real que pode ser manipulado.
Passo 3: Atualizar Dados
notes.push({ text: 'New note' });
Adiciona uma nova nota ao array.
Passo 4: Salvar Dados de Volta no Arquivo
fs.writeFileSync('notes.json', JSON.stringify(notes));
JSON.stringifyconverte JavaScript de volta para JSON;- o arquivo é atualizado com os novos dados.
Exemplo Completo
const fs = require('fs');
// Read file
const data = fs.readFileSync('notes.json', 'utf-8');
// Convert to JS
const notes = JSON.parse(data);
// Update data
notes.push({ text: 'Learn Node.js' });
// Save back
fs.writeFileSync('notes.json', JSON.stringify(notes));
Tratando a Primeira Execução (Arquivo Vazio)
Se o arquivo não existir ou estiver vazio, o aplicativo irá falhar.
Podemos corrigir isso iniciando com um array vazio:
let notes = [];
try {
const data = fs.readFileSync('notes.json', 'utf-8');
notes = JSON.parse(data);
} catch (error) {
notes = [];
}
Tudo estava claro?
Obrigado pelo seu feedback!
Seção 1. Capítulo 24
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Seção 1. Capítulo 24