O módulo File System do Node.js permite o trabalho com o sistema de arquivos do computador. Podemos incluir o File System no nosso arquivo js utilizando o método require:
let fs = require('fs');
Para que serve o módulo File System? O que podemos fazer com ele?
- Ler arquivos
- Criar arquivos
- Atualizar arquivos
- Deletar arquivos
- Renomear arquivos
Para ler arquivos usando o file system:
Podemos utilizar o método fs.readFile() para ler arquivos salvos no computador. Por Exemplo, podemos ter o seguinte arquivo html (que esteja localizado na mesma pasta de execução do node):
<!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>readFile()</title> </head> <body> <h1>Cabeçalho da página</h1> <p>Parágrafo da página</p> </body> </html>
Após isso, criemos um arquivo javascript (node) para ler o nosso arquivo html e retornar o conteúdo:
// criando uma requisição http para criação do servidor let http = require('http'); // criando uma requisição para o módulo filesystem let fs = require('fs'); // criando um servidor funcionando na porta 8080 // e utilizando o fs.readFile para ler o arquivo html http.createServer(function (req,res){ fs.readFile('index.html', function(err, data){ res.writeHead(200, {'Content-Type': 'text/html'}); res.write(data); res.end(); }); }).listen(8080);
A nossa saída deve ser assim:
E como podemos criar arquivos com o File System?
Podemos utilizar o módulo para criar novos arquivos utilizando os métodos:
- fs.appendFile()
- fs.open()
- fs.writeFile()
O método fs.appendFile() anexa o conteúdo especificado a um arquivo. Se o arquivo não existir, ele será criado. Crie um novo arquivo chamado appendFile.js e faça o seguinte:
// Crie uma requisição para o módulo file system let fs = require('fs'); // Utilize o appendFile() para criar um novo arquivo que será anexado à sua pasta node // onde 'meuNovoArquivo.txt será o arquivo a ser criado // 'Eu sou o novo conteudo é o conteúdo do arquivo txt fs.appendFile('meuNovoArquivo.txt', 'Eu sou o novo conteudo', function (err){ // Se ocorrer um erro, especifique if (err) throw err; // Senão, logue no console = salvo! console.log("salvo!") })
Perceba que o arquivo foi criado na mesma pasta de origem:
Podemos também utilizar o método fs.open() para criar um arquivo vazio:
let fs = require('fs'); // 'w' significa 'write' = escrever fs.open('meuNovoArquivo2.txt', 'w', function (err, file){ if (err) throw err; console.log("Aberto!"); });
E teremos nosso arquivo criado:
E, finalmente, o método writeFile():
O método writeFile() substitui o arquivo e conteúdo especificados, se existirem. Se o arquivo não existir, ele será criado:
let fs = require('fs'); // Substituiremos o conteúdo em meuNovoArquivo2.txt pela frase // 'Novo conteúdo!' fs.writeFile('meuNovoArquivo2.txt', 'Novo conteúdo!', function (err){ if (err) throw err; console.log('Salvo!') })
E esse será o resultado:
Esses são os métodos de leitura e criação de arquivos utilizando o File System do NodeJS!
Gostou deste artigo? Acompanhe os próximos artigos e comente abaixo!