- 打开文件(获取文件描述符)
java件描述符:被打开的文件分配的一个简单的数字作为标识符
const fs = require('fs')
fs.open('./test.js', 'r', (err, fd) => {
console.log(fd);
})
try {
const fd = fs.openSync('./test.js', 'r');
console.log(fd);
} catch(err) {
console.log(err);
}
r: 文件读
r+: 文件读写
w+: 文件读写,切文件流定位到文件的开头,如果不存在则创建文件
a: 文件写,切文件流定位到文件的末尾, 如果不存在则创建文件
a+: 文件读写,文件流定位到文件的末尾,如果不存在则创建文件
- 文件属性(每个文件都带有一组详细信息,可以使用node进行检查)
fs.stats('./test.js', (err, stats) => {
console.log(stats);
stats.isFile()
stats.isDirectory()
stats.size
stats.isSymbolicLink()
})
try {
const stats = fs.stats('./test.js');
console.log(stats);
} catch(err) {
console.log(err);
}
dev: 3746641515,
mode: 33206,
nlink: 1,
uid: 0,
gid: 0,
rdev: 0,
blksize: 4096,
ino: 844424930382445,
size: 49,
blocks: 0,
atimeMs: 1662086193801.0996,
mtimeMs: 1662082149930.4011,
ctimeMs: 1662082149930.4011,
birthtimeMs: 1662082042268.958,
atime: 2022-09-02T02:36:33.801Z,
mtime: 2022-09-02T01:29:09.930Z,
ctime: 2022-09-02T01:29:09.930Z,
birthtime: 2022-09-02T01:27:22.269Z
}
- 读取当前路径下所有子文件和目录
fs.readdir('D:\test', (err, files) => {
if (err) {
console.log(err)
}
console.log(files);
})
try {
const childPath = fs.readdirSync('D:\test')
console.log(childPath);
} catch(err) {
console.log(err)
}
- 读文件
fs.readFileSync('D:\test.txt', 'utf8', (err, data) => {
if (err) {
console.log(err)
}
console.log(data)
})
try {
const data = fs.readFileSync('D:\test.txt', 'utf8')
} catch(err) {
console.log(err)
}