nodejs中的fs模块中的方法

nodejs中的fs模块

引入模块

const fs =require("fs")

  1. 检测文件是否存在fs.stat(path,callback)

    fs.stat("./node_modules",(err,data)=>{
        if(err){
            console.log(err)
            return
        }
        console.log("是目录",data.isDirectory())
        console.log("是文件",data.isFile())
    })
    
  2. 创建目录 fs.mkdir(path,callback)

    fs.mkdir('./css',(err)=>{
        if(err){
            console.log('出错',err)
            return 
        }
        console.log('创建成功')
    })
    
    
  3. 创建写入文件 fs.writeFile(filename,data(String|Buffer),options(可选),callback)

    /*
    参数:
     filename
    ,data(String|Buffer)
    ,options(可选|Object)
        encoding(String)  默认‘utf8’
        mode(Number)   文件读写权限 默认438
        flag(String) 默认值‘w’
    ,callback
    */
    fs.writeFile('./css/index.css','你好这是css文件',err=>{
        if(err){
            console.log("出错",err)
            return
        }
        console.log("创建写入文件成功")
    })
    
  4. 追加文件fs.appendFile(filename,data,callback)

    fs.appendFile('./css/index.css', '\n这是追加的内容', err => {
        if (err) {
            console.log("出错", err)
            return
        }
        console.log("追加成功")
    })
    
  5. 读取文件fs.readFile(filename,options,callback)

    /*  
        参数:
        filename
        options(可选Object):
         {
            encoding
            ,flag
         }
        callback
    */
    fs.readFile('./css/index.css', (err, data) => {
        if (err) {
            console.log("出错", err)
            return
        }
        console.log("读取到数据:",data.toString())
    })
    
  6. 读取目录fs.readdir(path,options,callback)

    fs.readdir('./css', (err, data) => {
        if (err) {
            console.log("出错", err)
            return
        }
        console.log(data) //['index.css','init.css']
    })
    
  7. 重命名fs.rename(oldPath,newPath,callback)

    /* 此方法有两个功能:
    1.重命名文件
    2.移动文件 */
    fs.rename('./css/index.css', './css/init.css', err => {
        if (err) {
            console.log("出错", err)
            return
        }
        console.log('重命名成功')
    })
    
  8. 删除文件 fs.unlink(path,callback)

    fs.unlink('./css/index.css',err=>{
            if (err) {
            console.log("出错", err)
            return
        }
        console.log('删除成功')
    })
    
  9. 删除目录fs.rmdir(path,callback) 删除目录必须为空目录

    fs.rmdir('./css',err=>{
        if (err) {
        console.log("出错", err)
        return
    }
    console.log('删除目录成功')
    })
    
  10. 读取文件流 fs.createReadStream(filename,options)

    const stream = fs.createReadStream("./test.txt")
    let str = ""
    stream.on('data', data => {
        str += data
    })
    stream.on('err', err => {
        console.log(err)
    })
    stream.on('end', () => {
        console.log(str)
    })
    
  11. 写入流文件fs.createWriteStream(filename,options)

    let data = ""
    for (var i = 1; i < 1000; i++) {
        data += "你好啊文件流\n"
    }
    const writeStream = fs.createWriteStream("./t2.txt")
    writeStream.write(data, 'utf8')
    writeStream.end() //标记写入完成
    writeStream.on('finish', () => {
        console.log('写入完成')
    })
    

学海无涯,活到老学到老!

posted @ 2021-12-01 22:43  hello_xier  阅读(152)  评论(0编辑  收藏  举报