我对服务器端编程和 NodeJS 很陌生
我需要递归读取目录以获取该目录中每个文件的文件名(应返回一个文件名数组(相对路径))
我认为这是很常见的事情,所以我希望有人能分享代码。或者只是告诉我正确的调用方法。 谢谢
最佳答案
这是我的第一次尝试。
fs = require('fs');
function getDirectoryFiles(directory, callback) {
fs.readdir(directory, function(err, files) {
files.forEach(function(file){
fs.stat(directory + '/' + file, function(err, stats) {
if(stats.isFile()) {
callback(directory + '/' + file);
}
if(stats.isDirectory()) {
getDirectoryFiles(directory + '/' + file, callback);
}
});
});
});
}
getDirectoryFiles('.', function(file_with_path) {
console.log(file_with_path);
});
当然,您可以将值推送到全局数组中,而不是回调处理函数中的 console.log
。
关于javascript - 递归读取Node JS中的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6603589/