nodejs 读取文件
一、读取文件
1. 常用读取文件方式
const fs = require('fs')
const path = require('path')
let file = path.resolve(__dirname, './file.txt')
// 异步读取文件内容
fs.readFile(file, { encoding: 'utf8' }, (err, data) => {
if (err) throw err
console.log('读取的文件内容:', data)
})
2. 语法说明
/*
* 异步读取文件内容,(若不存在文件,则发生异常)
* @param file {string | Buffer | URL | integer} 文件名或文件描述符
* @param options {Object | string}
* encoding {string | null}, 编码方式,默认值是 null
* flag {string}, 读取方式,默认值是 'r',打开文件用于读取。
* 如果文件不存在,则会发生异常
* @param callback {Function} 回调函数
* err {Error} 读取文件内容时抛出的错误
* data {string | Buffer} 读取到的文件内容
*/
function readFile(file[, options], callback) {}
备注:
-
若没有指定字符编码,将返回原始的
Buffer
-
若
options
是字符串,则该值需是一个字符串编码类型
fs.readFile(file, 'utf8', (err, data) => {})
- 若
file
是目录,在Linux
、MacOS
、Windows
上会报错
二、同步读取文件
功能和参数与该接口的 异步 API 类似,只是参数少了 回调函数
const fs = require('fs')
fs.readFileSync(file[, options])
三、不同写入方式
options
里面的 flag
参数值表示不同的 文件系统标志
这里表现为:不同的读取方式
常用的几种方式
- 'a': 打开文件用于追加。如果文件不存在,则创建该文件
- 'a+': 打开文件用于读取和追加。如果文件不存在,则创建该文件
- 'as': 打开文件用于追加(在同步模式中)。如果文件不存在,则创建改文件
- 'r': 打开文件用于读取。如果文件不存在,则会发生异常
- 'r+': 打开文件用于读取和写入。如果文件不存在,则会发生异常
- 'w': 打开文件用于写入。如果文件不存在则创建文件,若存在则截断文件
- 'w+': 打开文件用于读取和写入。如果文件不存在则创建文件,若存在则截断文件
可以点击查看更多 文件系统标志
四、其他类似 Api
点击查看更多
API 详情
fs.read(fd, buffer, offset, length, position, callback)
fs.read(fd[, options], callback)
fs.readSync(fd, buffer, offset, length, position)
fs.readSync(fd, buffer[, options])
都读到最后了、留下个建议如何