Node学习笔记 fs.readFile、fs.writeFile、fs.readdir

3,192 阅读2分钟

fs(文件系统)

Node.js提供了一个用于操作文件系统的模块,其命名为 fs

fs.readFile异步 地读取目标文件内容

使用方式:

const fs = require('fs') // 引入Node.js文件操作组件fs
fs.readFile(path[, options], callback(err, data))
  • path 文件路径
  • options
    1. encoding(string | null) 默认值: 'null'( 如果没有指定 encoding,则返回原始的 buffer )
    2. flag 默认值: 'r'
  • callback 回调函数,进行相应的错误处理及提示
    1. err
    2. data 目标文件内容

用法实例如下:

const fs = require('fs') // 引入Node.js文件操作组件fs
fs.readFile('/etc/passwd', 'utf8', (err, data) => {
  if (err) throw err; // 若读取错误,则抛出err
  console.log(data); // 若读取成功,则打印data
});

fs.writeFile异步地将数据写入目标文件

使用方式:

const fs = require('fs') // 引入Node.js文件操作组件fs
fs.writeFile(file, data[, options], callback(err))
  • file 文件路径( 当该路径为文件名时,若检测该文件已存在则覆盖该文件 )
  • data 字符串或 buffer
  • options
    1. encoding(string | null) 默认值: 'utf8'
    2. mode 默认值: 0o666
    3. flag 默认值: 'w'
  • callback 回调函数,进行相应的错误处理及提示
    1. err

用法实例如下:

const fs = require('fs') // 引入Node.js文件操作组件fs
fs.writeFile('文件.txt', 'Node.js中文网', 'utf8', (err) => {
  if (err) throw err; // 若写入错误,则抛出err
  console.log('文件已被保存'); // 若写入成功,则打印‘文件已被保存’
});

fs.readdir异步地读取目录的内容

使用方式:

const fs = require('fs') // 引入Node.js文件操作组件fs
fs.readdir(path[, options], callback(err, files))
  • path 用于渲染目录的模板文件
  • options
    1. encoding 默认值: 'utf8' ( 如果 encoding 设置为 'buffer',则返回的文件名是 Buffer 对象 )
    2. withFileTypes 默认值: false ( 如果 options.withFileTypes 设置为 true,则 files 数组将包含 fs.Dirent 对象 )
  • callback 回调函数,进行相应的错误处理及提示

用法实例如下:

const fs = require('fs') // 引入Node.js文件操作组件fs
fs.readdir('./01-http-helloworld/', (err, files) => {
  if (err) throw err; // 若目录读取错误,则抛出err
  console.log('目录读取成功'); // 若目录读取成功,则打印‘目录读取成功’
}

以上是目前14nodejs(7天)教程涉及的三个文件操作模块,后面会搭配require('http')组件实现目录读取的读取及渲染效果,还待下文...


文章已同步我的个人博客:《Node学习笔记 fs.readFile、fs.writeFile、fs


资料参考:

本篇文章由一文多发平台ArtiPub自动发布