引入模块
const fs = require('fs')
const path = require('path')
读取文件
// 同步读取
var data = fs.readFileSync('read.txt', 'utf-8')
console.log("同步读取: " + data.toString())
// 异步读取
fs.readFile('read.txt', 'utf-8', function (err, data) {
if (err) {
return console.error(err)
}
console.log("异步读取: " + data.toString())
})
写入文件
// 同步写入
var data = fs.writeFileSync('write1.txt', '我是被写入的内容1!')
//同步读取
var writeData1 = fs.readFileSync('write1.txt', 'utf-8')
console.log("同步读取写入的内容1: " + writeData1.toString())
// 异步写入
fs.writeFile('write2.txt', '我是被写入的内容2!', function (err) {
if (err) {
return console.error(err)
}
var writeData2 = fs.readFileSync('write2.txt', 'utf-8')
console.log("同步读取写入的内容2: " + writeData2.toString())
})
追加写入文件
fs.appendFileSync('123.txt','这是写入的内容')
重命名
fs.renameSync('123.txt', '321.txt')
获取路径
// 获取当前路径
const filePath = path.join(__dirname)
// 获取当前路径底下的dist文件夹路径
const filePath = path.join(__dirname, '/dist')
//获取 当前路径 的 上层路径 底下的dist文件夹路径
const filePath = path.join(__dirname, '../dist')
读取某个路径底下所有文件(包括文件夹,返回的是个数组)
fs.readdirSync(filePath)
新建文件夹
fs.mkdirSync(filePath+`/${fileName}`)
删除文件夹(不回删除文件夹中的文件)
fs.rmdirSync(filePath)
删除文件
fs.unlinkSync(filePath)
检测文件是文件夹还是文件
const stat = fs.statSync(filePath)
// 是否是文件
const tf = stat.isFile() (返回true or false)
//是否是文件夹
const tf = stat.isDirectory() (返回true or false)
对文件流操作
创建可读流
const reader = fs.createReadStream(filePath)
创建可写流
const upStream = fs.createWriteStream(filePath)
可读流通过管道写入可写流
reader.pipe(upStream)