一、文件写入
1-1 writeFile 异步写入
const fs = require('fs')
fs.writeFile('test01.txt', '三人行,必有我师焉。', err => {
if (err) {
console.log('写入失败:', err)
return
}
console.log('写入成功 test01')
})
1-2 writeFileSync 同步写入
const fs = require('fs')
try {
fs.writeFileSync('test02.txt', '子曰:三人行,必有我师焉。')
console.log('写入成功 test02')
} catch (err) {
console.log('写入失败:', err)
}
1-3 appendFile/appendFileSync 追加写入
const fs = require('fs')
fs.appendFile('test01.txt', '择其善者而从之,其不善者而改之。', err => {
if (err) {
console.log('写入失败:', err)
return
}
console.log('追加写入成功 test01')
})
fs.appendFileSync('test02.txt', '勿以恶小而为之,勿以善小而不为.')
1-4 createWriteStream 流式写入
const fs = require('fs')
const ws = fs.createWriteStream('test03.txt')
ws.write('回首依然望见故乡月亮\r\n')
ws.write('黑夜给了我黑色的眼睛\r\n')
ws.write('我却用它去寻找光明\r\n')
ws.end()
console.log('流式写入成功test03')
1-5 文件写入场景
下载文件
安装软件
保存程序日志
编辑器保存文件
视频录制
二、文件读取
2-1 异步读取
fs.readFile('test01.txt', (err, data) => {
if (err) {
console.log('读取失败:', err)
throw err
}
console.log('读取成功:', data.toString())
})
fs.readFile('test01.txt', 'utf-8', (err, data) => {
if (err) {
console.log('读取失败:', err)
throw err
}
console.log('读取成功:', data.toString())
})
2-2 readFileSync 同步读取
const fs = require('fs')
let data1 = fs.readFileSync('test01.txt')
let data2 = fs.readFileSync('test02.txt', 'utf-8')
console.log('读取成功data1:', data1.toString())
console.log('读取成功data2:', data2.toString())
2-3 createReadStream 流式读取
const fs = require('fs')
let rs = fs.createReadStream('test03.txt')
rs.on('data', data => {
console.log(data.toString())
console.log(data.length)
})
rs.on('end', () => {
console.log('读取完成')
})
2-4 文件读取场景
打开文件
查看图片
播放视频、音乐
查看日志
查看聊天记录
上传文件
三、文件删除
const fs = require('fs')
fs.unlink('test03.txt', err => {
if (err) throw err
console.log('删除成功')
})
fs.unlinkSync('test04.txt')
四、文件移动与重命名
const fs = require('fs')
fs.rename('test01.txt', './new/test01.txt', err => {
if (err) throw err
console.log('移动成功')
})
fs.renameSync('test02.txt', './new/test02_new.txt')
五、文件夹操作
5-1 mkdir 创建文件夹
const fs = require('fs')
fs.mkdir('data', {recursive: true}, err => {
if (err) throw err
console.log('创建成功data')
})
fs.mkdir('./3/2/1', {recursive: true}, err => {
if (err) throw err
console.log('递归创建成功 3/2/1')
})
fs.mkdirSync('./5/4/3/2/1', {recursive: true})
5-2 readdir 读取文件夹
const fs = require('fs')
fs.readdir('new', (err, data) => {
if (err) throw err
console.log('读取成功:', data)
})
let dir = fs.readdirSync('./')
console.log(dir)
5-3 rm 删除文件夹
const fs = require('fs')
fs.rm('./data', {recursive: true}, err => {
if (err) throw err
console.log('删除成功data')
})
fs.rm('./3', {recursive: true}, err => {
if (err) throw err
console.log('递归删除成功 3')
})
fs.rmSync('./5', {'recursive': true})
六、查看资源状态
const fs = require('fs')
fs.stat('data', (err, data) => {
if(err) throw err
console.log(data)
})
let fileInfo = fs.statSync('new/test01.txt')
console.log(fileInfo)
七、__dirname
const fs = require('fs')
let data = fs.readFileSync(__dirname + '/test03.txt')
console.log(data.toString())
Bug

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律