读取文件
const fs = require('fs')
const textAsync = fs.readFileSync('./text1.txt',{
encoding:'utf-8',
})
console.log(textAsync ,'-1-');
fs.readFile('./text1.txt',{
encoding:'utf-8',
},(err,data)=>{
if (err) {
return console.log(err);
}
console.log(data,'-2-');
})
console.log('-2-',);
封装为Promise形式的写法
封装
const fs = require('fs')
const fsRead = (path) => new Promise((resolve, reject) => {
fs.readFile(path,{
encoding:'utf-8'
},(err,data)=>{
if (err) {
return reject(err)
}
resolve(data)
})
})
exports = {
fsRead
}
使用
const { fsRead } = require('./my_fs')
const ReadText = async () => {
let text = await fsRead('./text1.txt')
console.log(text);
}
ReadText()
console.log('我先执行');
写入文件
基础写法
const fs = require('fs')
fs.writeFile('./newText.txt', '我是异步插入的新内容', { encoding: "utf-8" ,flag:'a'}, (err, data) => {
if(err) return console.log(err);
console.log('写入成功');
})
fs.writeFileSync('./newText.txt', '我是同步插入的新内容', { encoding: "utf-8" ,flag:'a'})
封装成promise形式的写法
const fs = require('fs')
const writeFs = (path, content, { encoding, flag } = { encoding: "utf-8", flag: 'a' }) => new Promise((resovle, reject) => {
fs.writeFile(path, content, { encoding, flag }, (err, data) => {
if (err) return reject(err);
resovle(data);
})
})
const writeList = async () => {
await writeFs('newtext1.txt', '新内容1');
await writeFs('newtext2.txt', '新内容2');
await writeFs('newtext3.txt', '新内容3');
await writeFs('newtext4.txt', '新内容4');
console.log('全部写入完毕');
}
writeList()
删除文件 谨慎操作
fs.unlink('./text1.txt',()=>{
console.log('删除成功');
})