Estes exemplos foram feitos a partir dos exercícios disponíveis no nodeschool, pelo workshopper learnyounode.
Lendo um arquivo de forma síncrona
A ideia aqui era fazer um programa em node que pudesse contar o número de linhas em um arquivo cujo caminho foi fornecido via parâmetro.
// countLines.js var fs = require('fs'); var filename = process.argv[2]; // parametro var buffer = fs.readFileSync(filename); var str = buffer.toString(); console.log(str.split('\n').length - 1);
Lendo arquivo de forma assíncrona
// countLinesAsync.js var fs = require('fs'); var filename = process.argv[2]; fs.readFile(filename, function(err, data) { var str = data.toString(); console.log(str.split('\n').length - 1); });
Listando arquivos de um diretório
O programinha abaixo funciona mais ou menos como o comando ls do linux. O primeiro parâmetro é o diretório que se quer listar arquivos e o segundo parâmetro é a extensão dos arquivos que serão listados.
// ls.js var fs = require('js'); var path = require('path'); var dirPath = process.argv[2]; var ext = '.' + process.argv[3]; fs.readdir(dirPath, function (err, list) { if (err) { return; } var files = list.filter(function(f) { return path.extname(f) === ext; }); console.log(files.join('\n')); });
Referências
- http://nodeschool.io/#workshopper-list
- https://github.com/rvagg/learnyounode