fs.readdirSync(path) 读取最新的三个文件怎么写。
目录下有很多图片,我想只读取出最新的三个文件怎么写,谢谢。
4 回复
http://nodejs.org/api/fs.html#fs_fs_stat_path_callback
大部分问题看文档就能解决了
先读取所有的文件,然后循环判断文件的修改时间,根据时间获取最新的。下面是部分思路代码。:
var fs = require('fs');
//我的文件夹名称是20,下面有多个文件,先读取所有的文件
fs.readdir('20', function(err, files){
//对文件进行排序
files.sort(function(val1, val2){
//读取文件信息
var stat1 = fs.statSync('20/' + val1);
var stat2 = fs.statSync('20/' + val2);
//根据时间从最新到最旧排序
return stat2.mtime - stat1.mtime;
});
//这个时候的files就是排序之后的,前三个一定是最新的,
for(var i=0;i<3;i++){
console.log('%s', files[i]);
}
});
这样就可以找到你要的最新的三个文件。
谢谢上面的两位。上面代码没有问题。
和楼主遇到相同的问题,解决办法也如2楼所说,不知道还有其他办法不