zoukankan      html  css  js  c++  java
  • 文件操作系统fs

    在一些场景下,我们需要对文件进行 增删改查等操作, Nodejs 提供了 fs 模块,让我们对文件进行操作

    常用API

    1. 读取文件

    const fs = require('fs')
    
    // 异步读取
    fs.readFile('./index.txt', 'utf8', (err, data) => {
      console.log(data) //  Hello Nodejs
    })
    
    // 同步读取
    const data = fs.readFileSync('./index.txt', 'utf8')
    
    console.log(data) //  Hello Nodejs
    
    // 创建读取流
    const stream = fs.createReadStream('./index.txt', 'utf8')
    
    // 这里可以看到fs.createReadStream用到了我们前面介绍的events eventEmitter.on() 方法来监听事件
    stream.on('data', data => {
      console.log(data) // Hello Nodejs
    })
    
    

    2. 写入/修改文件

    写入文件时,如果文件不存在,则会创建并写入,如果文件存在,会覆盖文件内容.可以通过传递配置来决定文本写入时覆盖还是增加,a代表增加、w代表覆盖

    image-20210308175844852

    3. 删除文件/文件夹

    • 删除文件
    // 异步删除文件
    fs.unlink('./delete.txt', err => {
      if (err) throw err
    })
    
    // 同步删除文件
    fs.unlinkSync('./deleteSync.txt')
    
    • 删除文件夹
    // 异步删除文件夹
    fs.rmdir('./rmdir', err => {
      if (err) throw err
    })
    
    // 同步删除文件夹
    fs.rmdirSync('./rmdirSync')
    

    4. 创建文件夹

    // 异步创建文件夹
    fs.mkdir('./mkdir', err => {
      if (err) throw err
    })
    
    // 同步创建文件夹
    fs.mkdirSync('./mkdirSync')
    

    5.重命名文件/文件夹

    const fs = require('fs')
    
    // 异步重命名文件
    fs.rename('./rename.txt', './rename-r.txt', err => {
      if (err) throw err
    })
    
    // 同步重命名文件夹
    fs.renameSync('./renameSync', './renameSync-r')
    

    6. 复制文件/文件夹

    const fs = require('fs')
    
    // 异步复制文件
    fs.copyFile('./copy.txt', './copy-c.txt', (err, copyFiles) => {
      if (err) throw err
    })
    
    // 同步复制文件夹
    fs.copyFileSync('./null', 'null-c')
    

    7. 文件夹状态- 文件/文件夹

    const fs = require('fs')
    
    // 异步获取文件状态
    fs.stat('./dir', (err, stats) => {
      if (err) throw err
      // 是否是文件类型
      console.log(stats.isFile()) // false
      // 是否是文件夹类型
      console.log(stats.isDirectory()) // true
    })
    
    // 同步获取文件状态
    const stats = fs.statSync('./stats.txt')
    
    // 是否是文件类型
    console.log(stats.isFile()) // true
    // 是否是文件夹类型
    console.log(stats.isDirectory()) // false
    
  • 相关阅读:
    软件实施工程师是一个什么样的工作?他的具体工作内容是什么?发展前景怎样?
    做金融(基金、证券)方面的软件实施工程师有没有发展前途?职业发展空间如何。
    做软件实施工程师的一点建议
    系统实施工程师主要工作职则
    软件实施工程师
    UE编辑器编译和运行java设置
    猜数字
    猜数字
    Problem G
    Problem G
  • 原文地址:https://www.cnblogs.com/bradleyxin/p/14508525.html
Copyright © 2011-2022 走看看