Módulo do sistema de arquivos Node.js
Node.js como servidor de arquivos
O módulo do sistema de arquivos Node.js permite trabalhar com o sistema de arquivos em seu computador.
Para incluir o módulo File System, use o
require()
método:
var fs = require('fs');
Uso comum para o módulo File System:
- Ler arquivos
- Criar arquivos
- Atualizar arquivos
- Deletar arquivos
- Renomear arquivos
Ler arquivos
O fs.readFile()
método é usado para ler arquivos em seu computador.
Suponha que temos o seguinte arquivo HTML (localizado na mesma pasta do Node.js):
demofile1.html
<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>
Crie um arquivo Node.js que leia o arquivo HTML e retorne o conteúdo:
Exemplo
var http = require('http');
var fs = require('fs');
http.createServer(function
(req, res) {
fs.readFile('demofile1.html', function(err, data) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080);
Salve o código acima em um arquivo chamado "demo_readfile.js" e inicie o arquivo:
Inicie demo_readfile.js:
C:\Users\Your Name>node demo_readfile.js
Se você seguiu as mesmas etapas em seu computador, verá o mesmo resultado do exemplo: http://localhost:8080
Criar arquivos
O módulo File System possui métodos para criar novos arquivos:
fs.appendFile()
fs.open()
fs.writeFile()
O fs.appendFile()
método anexa o conteúdo especificado a um arquivo. Se o arquivo não existir, o arquivo será criado:
Exemplo
Crie um novo arquivo usando o método appendFile():
var fs = require('fs');
fs.appendFile('mynewfile1.txt', 'Hello
content!', function (err) {
if (err) throw err;
console.log('Saved!');
});
O fs.open()
método recebe um "flag" como segundo argumento, se o sinalizador for "w" para "escrever", o arquivo especificado é aberto para gravação. Se o arquivo não existir, um arquivo vazio será criado:
Exemplo
Crie um novo arquivo vazio usando o método open():
var fs = require('fs');
fs.open('mynewfile2.txt', 'w', function (err,
file) {
if (err) throw err;
console.log('Saved!');
});
O fs.writeFile()
método substitui o arquivo e o conteúdo especificados, se existir. Se o arquivo não existir, um novo arquivo, contendo o conteúdo especificado, será criado:
Exemplo
Crie um novo arquivo usando o método writeFile():
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'Hello
content!', function (err) {
if (err) throw err;
console.log('Saved!');
});
Atualizar arquivos
O módulo File System possui métodos para atualizar arquivos:
fs.appendFile()
fs.writeFile()
O fs.appendFile()
método anexa o conteúdo especificado no final do arquivo especificado:
Exemplo
Anexar "Este é o meu texto." ao final do arquivo "mynewfile1.txt":
var fs = require('fs');
fs.appendFile('mynewfile1.txt', ' This is my
text.', function (err) {
if (err) throw err;
console.log('Updated!');
});
O fs.writeFile()
método substitui o arquivo e o conteúdo especificados:
Exemplo
Substitua o conteúdo do arquivo "mynewfile3.txt":
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
if (err) throw err;
console.log('Replaced!');
});
Deletar arquivos
Para excluir um arquivo com o módulo File System, use o fs.unlink()
método.
O fs.unlink()
método exclui o arquivo especificado:
Exemplo
Excluir "meunovoarquivo2.txt":
var fs = require('fs');
fs.unlink('mynewfile2.txt', function (err) {
if (err) throw err;
console.log('File deleted!');
});
Renomear arquivos
Para renomear um arquivo com o módulo File System, use o fs.rename()
método.
O fs.rename()
método renomeia o arquivo especificado:
Exemplo
Renomeie "mynewfile1.txt" para "myrenamedfile.txt":
var fs = require('fs');
fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
if (err) throw err;
console.log('File Renamed!');
});
Fazer upload de arquivos
Você também pode usar o Node.js para fazer upload de arquivos para seu computador.
Leia como em nosso capítulo de upload de arquivos do Node.js.