Nodejs 对 内置模块fs简单使用技巧与操作方法,模块文件夹的curd与文件的curd
版权声明:本文为CSDN博主「NanQiao1716」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/NanQiao1716/article/details/104680879
1.对nodejs内置模块fs的简单操作与使用方法,对文件夹和文件进行同步和异步操作时,异步需要使用callback回调函数,同步则不需要,而在异步操作中,都是错误的回调优先
- 1.如对nodejs是什么,以及nodejs npm配置源是什么不知可查看nodejs简介
- 2.要使用nodejs内置模块,那么就要引用fs 引用方式 const fs = require('fs')
2.引用内置模块之后对文件夹的curd使用,及 create创建 update 修改 read 读取 delete删除
对文件夹操作的方法对下面的
- 参数path代指路径,[options]参数类型,用中括号包起的可以不填,callback回调函数,一般只有进行异步操作时才会用到,
- fs.mkdir(path[, options], callback)异步创建文件夹,当文件夹存在的时候,不可创建
- fs.mkdirSync(path[, options])同步创建文件夹
//oldPath旧的路径 newPath新的路径 - fs.rename(oldPath, newPath, callback)异步修改文件夹名
- fs.renameSync(oldPath, newPath)同步修改文件夹名
- fs.readdir(path[, options], callback)异步读取文件夹
- fs.readdirSync(path[, options])同步读取文件夹
- fs.rmdir(path[, options], callback)异步删除文件夹
- fs.rmdirSync(path[, options])同步删除文件夹
fs.mkdir()创建文件夹,当文件夹存在的时候,不可创建
// 异步创建文件夹,
fs.mkdir('./www01',function(err){//对文件夹异步操作时只需要err,不需要data,只要告诉我是否创建成功就行了
//callback回调函数中错误的回调优先,意思就是发生错误时不执行后面的参数,err本身为null,当发生错误,打印错误对象
console.log(err);
})
// 同步创建文件夹
fs.mkdirSync('./www02');
// 异步读取文件夹
fs.readdir('../node01',function(err,data){
if(!err){
console.log(err);
console.log(data);
}
})
// 同步读取文件夹
const data = fs.readdirSync('../node01');
console.log(data);
// 异步修改文件夹
fs.rename('./www02','./hhh',function(err){//对文件夹修改只需要err,只要告诉我是否修改成功就行了
if(err){
console.log('修改失败');
throw err
}else{
console.log("修改成功");
}
})
// 同步修改文件夹,当我们同步操作文件夹时发生错误,那么程序就会终止下面的执行
// 那肯定不能因为一个错误,将程序终止,所以用trycatch捕获异常
try {
fs.renameSync('./hhh','./aaa');
} catch (err) {
err;
}
fs.renameSync('./hhh','./aaa');
console.log(2222);
// 异步删除文件夹
fs.rmdir('./www01',(err)=>{
if(err){
console.log('删除失败');
throw err;
}
console.log('删除成功');
})
// 同步删除文件夹,文件夹必须是空文件夹
fs.rmdirSync('./aaa');
3.引用内置模块fs之后对文件的curd使用,及 create创建 update 修改 read 读取 delete删除
- 参数file代指文件名,path代指路径,data代指文件中的数据,[options]参数类型,用中括号包起的可以不填,callback回调函数,一般只有进行异步操作时才会用到,###这里需要注意执行程序时,异步后行,####下面有举例
- fs.writeFile(file, data[, options], callback)//异步创建文件
- fs.writeFileSync(file, data[, options])//同步创建文件
- fs.readFile(path[, options], callback)//异步读取文件
- fs.readFileSync(path[, options])//同步读取文件
- fs.appendFile(path, data[, options], callback)//异步修改文件内容
- fs.appendFileSync(path, data[, options])//同步修改文件内容
- fs.unlink(path, callback)//异步删除文件
- fs.unlinkSync(path)//同步删除文件
// 创建文件(写入文件)
//异步写入文件
// fs.writeFile('./www/hello1.txt','这是第123个插入文本日志',(err)=>{
// if(!err){
// console.log(err);
// }
// })
//同步写入文件
// const data = fs.writeFileSync('./www/haha.txt','这是第一个插入文本日志');
// console.log(data);
//异步读文件
// console.log(1111);
// fs.readFile('./www/haha.txt','utf8',function(err,data){//先打印222,我们知道程序从上往下执行,而读取文件时执行回调函数需要时间
// if(!err){
// //从文件中读出的数据默认是二进制数据 binary
// // 方法一:
// // console.log(data.toString('utf8'));
// //方法二直接在方法中设置options类型
// console.log(data);
// }
// })
// console.log(2222);//先打印222,我们知道程序从上往下执行,而读取文件时执行回调函数需要时间
//同步读取文件
// const data = fs.readFileSync('./www/hello.txt');
// console.log(data.toString('utf8'))
//异步修改文件也可以是追加内容
// fs.appendFile('./www/hello.txt','\n 我们要对其进行修改数据',(err)=>{
// if(!err){
// console.log('修改成功');
// }
// });
//同步修改后追加内容
// fs.appendFileSync('./www/hello','\n 事说'+new Date());
//异步删除文件
// fs.unlink('./www/hello.txt',(err)=>{
// if(!err){
// console.log('删除成功')
// }
// })
//同步删除文件
// fs.unlinkSync('./www/hello1.txt');
版权声明:本文为CSDN博主「NanQiao1716」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/NanQiao1716/article/details/104680879