目录
(1)API网址:File system | Node.js v16.20.2 Documentation
一. 服务器开发的流程
1.1. Node开发服务器
1.2. Node和浏览器区别
1.3. Node的架构设计
二. fs模块的使用
2.1. fs读取文件
(1)API网址:File system | Node.js v16.20.2 Documentation
(2)读文件的三种方式
// commmonjs
const fs=require('fs')
// // 1.同步读取
const res1=fs.readFileSync('./abc.txt',{
encoding:'utf-8'
})
console.log(res1)
console.log('后续的代码')
// 2.异步读取:回调函数
const res2=fs.readFile('./abc.txt',{encoding:'utf-8'},(err,data)=>{
if(err){
console.log('文件读取错误'+err)
return
}else{
console.log(data)
}
})
console.log('后续代码')
// 3.异步读取 Promise
// 这里多个s promises
fs.promises.readFile('./abc.txt',{
encoding:'utf-8'
}).then((res)=>{
console.log(res)
}).catch((err)=>{
console.log(err)
})
console.log('后续代码')
(3)文件描述符
// 打开一个文件
// 打开之后调用回调函数 里面会传入文件描述符fd
fs.open('./abc.txt',(err,fd)=>{
if(err) return
console.log(fd)
// 用fd来获取文件信息
fs.fstat(fd,(err,stats)=>{
if(err) return
console.log(stats)
// 手动打开文件也要手动关闭文件
fs.close(fd)
})
})
3.2. fs写入文件
(1)基本使用
const fs=require('fs')
const content='nihao woshiGGbond'
fs.writeFile('./ccc.txt',content,{
encoding:'utf-8'
},(err)=>{
if(err){
console.log(err)
}else{
console.log('写入成功')
}
})
// 第三个参数还可以进行配置flag
fs.writeFile('./ccc.txt',content,{
encoding:'utf-8',
flag:'a'
},(err)=>{
if(err) return
console.log('追加成功')
})