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
    
  • 相关阅读:
    js格式化时间和时间操作
    java链接FTP实现上传和下载
    JQuery 对 Select option 的操作
    利用set实现去重
    数组去重的五个办法
    JavaScript实现360度全景图片展示效果
    对于行高(line-height)的一些理解
    Flex 布局教程:语法篇
    学习Javascript闭包
    MySQL explain字段解释
  • 原文地址:https://www.cnblogs.com/bradleyxin/p/14508525.html
Copyright © 2011-2022 走看看