fs.readdirSync(path) 读取最新的三个文件怎么写。
发布于 10 年前 作者 mrlong 11823 次浏览 最后一次编辑是 8 年前

目录下有很多图片,我想只读取出最新的三个文件怎么写,谢谢。

4 回复

先读取所有的文件,然后循环判断文件的修改时间,根据时间获取最新的。下面是部分思路代码。:

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楼所说,不知道还有其他办法不

回到顶部