node js 文件,文件夹,文件流操作

引入模块

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)

你可能感兴趣的:(node js 文件,文件夹,文件流操作)