node.js之所以这么火,其中最大的原因可能就是由于他的异步操作,处理高并发的效率高于其他。
所以也有很多网站,中间采用node.js进行渲染,能高效的处理大流量高并发的问题。
最近,公司的项目要用node.js进行书写,可能有的童鞋纳闷了,node不是服务器端的吗,算是后端的东西了,但是公司并没有把node作为后端语言,而是作为中间处理,通过模板引擎渲染页面的,这可能才是真正的node.js的用处吧,所以啊笔者又开始了 node.js的爬坑之路。
node虐我千百遍,我待node如初恋。
今天来说一下node.js的文件操作吧,毕竟这个东西也是基础的,想要后端玩得好,文件操作这块也得六。
// 下面的都是 异步书写的, 其实工作中吧 用node很大部分原因就是因为他的异步
当然你也可以同步
同步就是在异步的方法 后面加上 Async 例如 读取文件:var data=fs.readFileAsync(’./hello.txt’);
里面不用再加上 回调函数了。
这里有个东西要记牢 异步 很大程度是依靠回调函数 但并不是回调函数就是异步。这个要记牢
const fs=require('fs');
// 1. fs.stat 检查 是文件还是目录
// fs.stat('./index.html',(err,data)=>{
if(err){
console.log(err);
return;
}
console.log(`是文件:${data.isFile()}`);
console.log(`是目录:${data.isDirectory()}`)
})
// 2.fs.mkdir() 创建目录
fs.mkdir('./css',(err)=>{
if(err){
console.log(err);
return;
}
console.log('创建成功!');
})
// 3. fs.writeFile 创建写入文件 如果文件存在覆盖里面的内容 没有就 重新创建
fs.writeFile('./hello.txt',"hello node.js",(err)=>{
if(err){
console.log(err);
return;
}
console.log("创建写入成功!")
})
// 4. fs.appendFile 追加文件 内容
fs.appendFile('./hello.txt',"我要好好学习node.js",(err)=>{
if(err){
console.log(err);
return;
}
console.log('success append!');
})
// 5.fs.readFile 读取文件操作
fs.readFile('./hello.txt',(err,data)=>{
if(err){
console.log(err);
return;
}
// 读取的数据是 buffer 十六进制 要转换成字符串
console.log(data.toString());
})
// 6.fs.readdir 读取目录下的信息
fs.readdir('./',(err,data)=>{
if(err){
console.log(err);
}
console.log(data)
})
// 7.fs.rename 1.文件重命名 2.文件移动操作
fs.rename('./css/aaa.css','./css/index.css',(err)=>{
if(err){
console.log(err);
return;
}
console.log('重命名成功//移动文件成功!');
})
// 8.fs.rmdir 删除目录 必须是空目录才可以删除
fs.rmdir('./lib',(err)=>{
if(err){
console.log(err);
return;
}
console.log('删除目录成功!');
})
// 9.fs.unlink() 删除文件操作
fs.unlink("./app.txt",(err)=>{
if(err){
console.log(err);
return;
}
console.log('删除成功!');
})