nodejs 读取目录

一、读取目录

文档参考地址

1. 常用读取目录方式

const fs = requiere('fs')
const path = require('path')
let fileDir = path.resolve(__dirname, './fileDir')
// 异步读取目录内容
fs.readdir(fileDir, { encoding: 'utf8' }, (err, files) => {
    if (err) throw err
    console.log('读取的目录内容:', files)
    // files:
    // [ 
    //     'dirName1',
    //     'dirName2',
    //     ...
    //     'fileName1' 
    //     'fileName2'
    //     ... 
    // ]
})

2. 语法说明

/*
 * 异步读取目录内容,(若不存在目录,则发生异常)
 * @param path {string | Buffer | URL |} 目录名
 * @param options {Object | string}
 *          encoding {string | null}, 编码方式,默认值是 'utf8'
 *          withFileTypes {boolean}, 返回的文件对象是否包含文件类型,默认值为 false
 * @param callback {Function} 回调函数
 *          err {Error} 读取目录内容时抛出的错误
 *          files {string[] | Buffer[] | fs.Dirent[]} 读取到的目录内容
 */
function readdir(path[, options], callback) {}

备注:

  1. options 是字符串,则该值需是一个 字符串编码类型
fs.readdir(path, 'utf8', (err, files) => {})
  1. files 为读取到的 目录中 文件名称的 数

  2. options 中的 withFileTypes 若设置为 true ,会返回 文件类型

fs.readdir(fileDir, { encoding: 'utf8', withFileTypes: true }, (err, files) => {
    if (err) throw err
    console.log('读取的目录内容:', files)
    // files:
    // [ 
    //     Dirent { name: 'dirName1', [Symbol(type)]: 2 },
    //     Dirent { name: 'fileName1', [Symbol(type)]: 1 }
    // ]
})

二、同步读取目录

功能和参数与该接口的 异步 API 类似,只是参数少了 回调函数

const fs = require('fs')
fs.readdirSync(path[, options])

猜你喜欢

转载自www.cnblogs.com/linjunfu/p/12905772.html