简单文件的读取
- 同步简单文件读取。使用fs.readFileSync(path[, options])
- 异步简单文件读取。使用fs.readFile(path[, options], callback)
- path:要读取的文件路径
- options:读取的选项
- callback:回调函数。回调函数的参数为err与data
- err:读取错误时赋值
- data:当成功读取之后,返回文件内容,以buffer格式返回
- 当读取的不是文本文件,而是视频或者图片等格式时,需要使用buffer格式,当使用string格式会出现乱码的情况
fs.readFile("test2.txt", function (err, data) {
if (!err) {
console.log(data.toString())
} else {
console.log(err)
}
})
流式文件的读取
- 流式文件读取与流式文件的写入一致。都需要一个管道
- 使用fs.createReadStream(path, [, options])
const rs = fs.createReadStream("test2.txt")
rs.once("open", function () {
console.log("流式文件打开成功")
})
rs.once("close", function () {
console.log("流式文件关闭成功")
})
rs.on("data", function (data) {
console.log(data)
})
流式文件读取与写入
const rs = fs.createReadStream("D:/Music/G.E.M.邓紫棋-光年之外-《太空旅客(Passengers)》电影中国区主题曲.flac")
const ws = fs.createWriteStream("test.mp3")
rs.once("open", function () {
console.log("可读流流式文件打开成功")
})
rs.once("close", function () {
console.log("可读流流式文件关闭成功")
ws.end()
})
ws.once("open", function () {
console.log("可写流流式文件打开成功")
})
ws.once("close", function () {
console.log("可写流流式文件关闭成功")
})
rs.on("data", function (data) {
ws.write(data)
})
- 简化读取与写入。使用pipe()可以将可读流与可写流直接联系到一起
const rs = fs.createReadStream("D:/Music/G.E.M.邓紫棋-光年之外-《太空旅客(Passengers)》电影中国区主题曲.flac")
const ws = fs.createWriteStream("test2.mp3")
rs.pipe(ws)