JavaScript é uma ferramenta de programação bastante utilizada, que oferece a capacidade de interagir com ficheiros diretamente no navegador. Vamos explorar como isso é possível!
O ambiente NodeJS é uma plataforma que permite a execução de scripts, incluindo aqueles que manipulam arquivos. Essencialmente, o NodeJS é um ambiente que viabiliza a execução de código JavaScript fora do navegador. É recomendável que você possua um conhecimento básico sobre o NodeJS.
Vamos agora focar no tutorial para entender como realizar a manipulação de arquivos usando JavaScript.
Manuseio de Arquivos em JavaScript
A manipulação de arquivos abrange várias ações, como criar, ler, atualizar, renomear e apagar. Para isso, é necessário aceder aos ficheiros do sistema, o que não pode ser feito diretamente. Para suprir essa necessidade, o NodeJS fornece um módulo chamado ‘fs’ (sistema de arquivos) dedicado à manipulação de ficheiros.
Vamos conhecer os principais métodos do módulo ‘fs’.
fs.open()
O método fs.open() aceita dois parâmetros: o caminho do ficheiro e o modo de abertura.
O caminho especifica a localização do arquivo desejado.
O modo de abertura determina como o arquivo será aberto, seja para anexar conteúdo, escrever ou ler.
Ao abrir um arquivo em um modo específico, você estará limitado a realizar apenas operações compatíveis com esse modo. A seguir, uma lista dos modos e suas operações correspondentes:
Modo | Operação |
‘r’ | Abre um arquivo no modo de leitura |
‘a’ | Abre um arquivo no modo de anexação |
‘w’ | Abre um arquivo no modo de escrita |
‘a+’ | Abre um arquivo no modo de anexação e leitura |
‘w+’ | Abre um arquivo no modo de escrita e leitura |
‘r+’ | Abre um arquivo no modo de leitura e escrita |
Se o ficheiro especificado não existir no caminho fornecido, um novo arquivo vazio será criado. Veja um exemplo de código para abrir um ficheiro em diferentes modos:
const fs = require("fs"); fs.open("sample.txt", "w", (err, file) => { if (err) throw err; console.log(file); });
O método fs.open() retornará um erro caso o ficheiro não exista ao tentar abri-lo em modo de leitura. Ele criará um novo ficheiro vazio nos modos de escrita e anexação.
Uma vez que o ficheiro esteja aberto, várias operações podem ser realizadas. Mais adiante, após explorarmos mais métodos do módulo ‘fs’, vamos construir um programa completo.
fs.appendFile()
O método fs.appendFile() adiciona conteúdo ao final de um ficheiro. Se o ficheiro não existir, um novo será criado. Use o código abaixo para anexar conteúdo ao seu ficheiro:
const fs = require("fs"); fs.appendFile("sample.txt", "Adicionando conteúdo", (err) => { if (err) throw err; console.log("Concluído!"); });
fs.writeFile()
O método fs.writeFile() é usado para escrever conteúdo em um ficheiro. Se o ficheiro não existir, um novo será criado. Utilize o código abaixo para escrever conteúdo no ficheiro:
const fs = require("fs"); fs.writeFile("sample.txt", "Escrevendo conteúdo", (err) => { if (err) throw err; console.log("Concluído!"); });
fs.readFile()
O método fs.readFile() é usado para ler o conteúdo de um ficheiro. Se o ficheiro não existir no caminho especificado, um erro será retornado. Veja o código a seguir:
const fs = require("fs"); fs.readFile("sample.txt", (err, data) => { if (err) throw err; console.log(data.toString()); });
fs.unlink()
O método fs.unlink() remove um ficheiro. Um erro será retornado caso o ficheiro não exista no caminho especificado. Confira o exemplo de código:
const fs = require("fs"); fs.unlink("sample.txt", (err) => { if (err) throw err; console.log("Ficheiro apagado!"); });
fs.rename()
O método fs.rename() é usado para renomear um ficheiro. Caso o ficheiro não exista, um erro será retornado. Veja o código para renomear um ficheiro:
const fs = require("fs"); fs.rename("sample.txt", "sample_one.txt", (err) => { if (err) throw err; console.log("Ficheiro renomeado!"); });
Exemplos
Agora você tem conhecimento dos principais métodos do módulo ‘fs’ para manipulação de ficheiros. Com os métodos vistos, você poderá executar diversas operações em ficheiros. Conforme prometido, vamos ver um script que abre um ficheiro e lê seu conteúdo usando os métodos fs.open() e fs.readFile(), respectivamente.
const fs = require("fs"); fs.open("sample.txt", "r", (err, file) => { if (err) throw err; fs.readFile(file, (err, data) => { if (err) throw err; console.log(data.toString()); }); });
Conclusão
Este é o fim deste tutorial. Com os métodos de manipulação de ficheiros, você poderá automatizar diversas tarefas rotineiras. Esperamos que você tenha aprendido os métodos essenciais para lidar com arquivos.
Bons códigos! 🙂