let http=require('http');
let fs=require('fs');
let server=http.createServer(function(request,reponse){
reponse.writeHead(200,{"Content-type":"text/html;charset=utf-8"});
//不处理收藏夹小图标
if(request.url=="/favicon.ico"){
return;
}
//遍历 Canvas 里面的所有文件夹和文件
//readdir 读取文件目录
fs.readdir("../Canvas/",function(err,files){//err错误对象,files数组
//如果发生异常则抛出 不再执行
if(err){
throw err;
}
let paper=[];//创建一个数组用于存放文件夹
//在node 里面 for循环是异步的 无法存入所有数据
// for(let i=0;i<files.length;i++){
// paper.push=files[i];
// console.log(paper);
// }
//用一个立即执行函数进行递归 将异步转换为同步
(function iterator(i){
if(i == files.length){
return;
}
//stat 方法 读完文件信息
fs.stat("../Canvas/"+files[i],function(err,data){//err 错误对象 ,data内容
//如果发生异常则抛出 不再执行
if(err){
return;
}
//判断检测该内容是否为文件夹 data.isDirectory()
else if(data.isDirectory()){
paper.push(files[i]);//如果是文件夹则添加到数组里面
console.log(paper);//输出数组信息
}//不是文件夹则什么都不执行
})
iterator(i+1);
})(0);
})
reponse.end();
})
server.listen(2000,'127.0.0.1',function(){
console.log("服务器连接成功");
})
node 检测某文件目录下的文件信息为文件夹(异步转换为同步)
最新推荐文章于 2022-08-18 17:24:33 发布