0064. 读取目录内容
1. 📒 概述
方法名 | 功能描述 |
---|---|
readdir() | 异步读取目录内容 |
readdirSync() | 同步读取目录内容 |
2. 💻 demos.1 - 读取目录内容 readdir
js
const fs = require('fs')
const path = require('path')
// 定义要读取的目录路径
const dirPath = path.join(__dirname, 'a')
try {
// 使用 readdirSync 读取目录内容
const files = fs.readdirSync(dirPath)
console.log(`目录 ${dirPath} 的内容:`)
files.forEach((file, index) => {
console.log(`${index + 1}. ${file}`)
})
} catch (err) {
if (err.code === 'ENOENT') {
console.error(`目录不存在: ${dirPath}`)
} else {
console.error(`读取目录时出错: ${err.message}`)
}
}
// 默认目录结构:
// $ tree
// .
// ├── 1.cjs
// └── a
// ├── 1.txt
// ├── 2.txt
// └── b
// ├── 1.md
// └── c
// 输出:
// 目录 /Users/huyouda/zm/notes/TNotes.nodejs/notes/0064. 读取目录内容/demos/1/a 的内容:
// 1. 1.txt
// 2. 2.txt
// 3. b
// readdir()
// 会读取指定目录下的内容
// 包括目录下的文件和子目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
3. 💻 demos.2 - 读取不存在的目录会报错
js
const fs = require('fs')
const path = require('path')
// 定义要读取的目录路径
const dirPath = path.join(__dirname, 'abc')
try {
// 使用 readdirSync 读取目录内容
const files = fs.readdirSync(dirPath)
console.log(`目录 ${dirPath} 的内容:`)
files.forEach((file, index) => {
console.log(`${index + 1}. ${file}`)
})
} catch (err) {
if (err.code === 'ENOENT') {
console.error(`目录不存在: ${dirPath}`)
} else {
console.error(`读取目录时出错: ${err.message}`)
}
}
// 输出:
// 目录不存在: /Users/huyouda/zm/notes/TNotes.nodejs/notes/0064. 读取目录内容/demos/2/abc
// 如果读取的目录不存在
// 会报错 ENOENT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27