/**
* Module dependencies
*/
var fs = require('fs');
var stdin = process.stdin;
var stdout = process.stdout;
var stats = [];
fs.readdir(process.cwd(),function(err,files){
console.log('');
if(!files.length) {
return console.log(' \033[31m No files to show!\033[39m\n');
}
console.log(' Select which file or directory you want to see\n');
function file(i){
var filename = files[i];
fs.stat(__dirname + '/' + filename,function(err,stat){
stats[i] = stat;
if(stat.isDirectory()){
console.log(' ' + i + ' \033[90m' + filename + ' \033[90m');
} else {
console.log(' ' + i + ' \033[90m' + filename + ' \033[39m');
}
if(++i == files.length){
read();
} else {
file(i);
}
});
}
function read()
{
console.log('');
stdout.write(' \033[33mEnter your choice:\033[39m');
stdin.resume();
stdin.setEncoding('utf8');
stdin.on('data',option);
}
function option(data) {
var filename = files[Number(data)];
if(stats[Number(data)].isDirectory()){
fs.readdir(__dirname + '/' + filename,function(err,files) {
console.log('');
console.log(' (' + files.length + ' files');
files.forEach(function(file){
console.log(' - ' + file);
});
});
}else{
fs.readFile(__dirname + '/' + filename,'utf8',function(err,data) {
console.log('');
console.log(data);
});
}
}
file(0);
});
Node 命令行读取当前目录下的文件(转自《了不起的Node》)
最新推荐文章于 2023-06-20 23:42:32 发布