node读取目录下文件,筛选文件夹和文件!
时间:2022-06-08
本文章向大家介绍node读取目录下文件,筛选文件夹和文件!,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
node也学习了几天,今天讲解一下刚学习的小案例!使用fs模块fs.readdir读取只能目录下文件,筛选文件和文件夹
案例代码
//遍历出是文件夹的文件,把异步变为同步方法!
const http=require('http');
const fs=require('fs')
const server=http.createServer(function(req,res){
res.writeHead(200,{"content-type":"text/html;charset=UTF8"})
//存放文件夹的数组
fs.readdir('../album',function(err,files){
var wenjianjia=[];
//fs.readdir//读取album目录下所有的文件和文件夹
// 迭代器强行把异步方法改变为同步,先执行1执行完毕后执行2,以此执行
(function iterator(i){
//遍历结束:i和文件的长度一样时候
if(i==files.length){
console.log(wenjianjia);
return;
}
fs.stat("../album/"+files[i],function(err,stats){
if(stats.isDirectory()){
wenjianjia.push(files[i])
}
iterator(i+1)
})
})(0)
})
res.end('ok')
})
//监听端口
server.listen(3000,"127.0.0.1");
fs.readdirAPI简单介绍
fs.readdir('../album',function(err,files){
console.log(files)
}
列出目录下的所有文件和文件夹
fs.stat介绍(检测文件状态可以判断是文件或者文件夹)
fs.stat(filesname,callback),回调函数中两个参数err,和stats,stats有个isDirectory属性,可以判断是否为文件夹
然后pull到数组就ok!
之前讲述的node的非阻塞I/O( no blocking I/O),会进行异步读取!所以没有读取完成则进行下一个(读取文件判断,下面的语句);这样不是我们所需要的,那么就要使用一个迭代器,强制异步变为同步!
使用迭代器iterator
function iterator(i){
//结束遍历
if(i ==files.length){
console.log(wenjainjia) ;
return;
}
//检测文件
......
//检测完成后执行
iterator(i+1)
}(0)
- knockout源码分析之执行过程
- knockout源码分析之订阅
- bootstrap源码分析之Carousel
- BOOtstrap源码分析之 tooltip、popover
- 两个链表的第一个公共结点
- mac下Android开发环境搭建
- 三位数的排列组合
- Undefined symbols for architecture i386:"_OBJC_CLASS_$_xx", referenced from: 解决方法
- Xcode5.0使用iOS6.1SDK及模拟器
- 内存泄露
- 深入理解及应用Position
- 数字营销人的年终奖该如何翻倍?这里有5个秘籍
- 处理日期时间NSDate
- 云安全(第1部分):从何开始
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法