fs模块:
一:主要对文件和目录进行操作,一般情况下,fs模块与path模块一起使用。
const pt = require("path");
const fs = require("fs");
二:读取指定目录下的文件和文件夹
(1) fs.readdir(path[, options], callback):
let dir = "E:\\HBuilder文件\\nodejs学习\\module";
fs .readdir(dir,function(err,files){
//抛出异常
if(err) throw err;
console.log(files);
})
输出:
[ 'module01.js',
'module02.js',
'module04.js',
'module05.js',
'node_modules'
]
(2) 异步执行(工作流程:先把指定路径下的文件全部加载完毕,再执行回调函数,把加载过来的文件返回一个数组,全部放在回调函数的files参数里面)
(3) fs.readdirSync(path[, options]):同步执行
let files = fs.readdirSync(dir);
console.log(files);
输出:
[ 'module01.js',
'module02.js',
'module04.js',
'module05.js',
'node_modules'
]
(4) 同步执行(工作流程:没有回调函数,所有的数据通过函数的返回值进行接收。)
(5) 异步:所有的数据通过回调函数进行接收,等当前操作全部走完,才执行回调函数;异步遇到阻塞的时候会分一个单线程出去,不会耽误主线程的执行。
(6) 同步:所有的数据通过函数的返回值进行接收,并阻塞后面代码的执行;同步要等阻塞执行完才能执行后面的代码,有阻塞效果。
三: 状态查询:stat、statSync
(1) fs.stat(path, callback):异步状态查询
fs.stat(dir,function(err,stats){
if(err) throw err;
console.log(stats.isFile());
})
输出:false
(2) stats:包含了当前这个文件校验出来的很多数据(得到指定文件的所有信息);则直接可以