文章目录
- ⭐前言
- ⭐ 读取文件
- 异步读 readFile
- 读取txt
- 流式读 createReadStream
- 读取视频
- ⭐ 结束

⭐前言
大家好,我是yma16,本期分享node读取文件。
往期文章
node_windows环境变量配置
node_npm发布包
linux_配置node
node_nvm安装配置
node笔记_http服务搭建(渲染html、json)
node的读取
Node.js 可以读取文件、流和网络请求等。
以下是几个常见的读取方式:
读取文件
可以使用 Node.js 提供的 fs 模块读取本地文件,其中最常用的方法是 fs.readFile。该方法接收文件路径和回调函数两个参数,回调函数的参数包括错误对象和读取到的文件内容。
const fs = require('fs');fs.readFile('file.txt', 'utf8', (err, data) => {if (err) throw err;console.log(data);
});
读取流
流是一种逐步读取数据的方式,它不需要一次性读取所有数据,而是可以分块读取。在 Node.js 中,可以使用 fs 模块创建读取流,例如:
const fs = require('fs');const readStream = fs.createReadStream('file.txt', 'utf8');readStream.on('data', (chunk) => {console.log(chunk);
});readStream.on('end', () => {console.log('Finished reading file');
});readStream.on('error', (err) => {console.error(err);
});
读取网络请求
可以使用 Node.js 提供的 http 模块发起网络请求,然后读取响应数据。需要发送请求的 URL 和请求头部等信息,可以使用 http.request 方法。读取响应数据的方式与读取文件类似,可以使用流或回调函数等方式。
const http = require('http');const options = {hostname: 'www.example.com',port: 80,path: '/',method: 'GET'
};const req = http.request(options, (res) => {console.log(`Status code: ${res.statusCode}`);res.on('data', (chunk) => {console.log(chunk.toString());});
});req.on('error', (err) => {console.error(err);
});req.end();
⭐ 读取文件
使用fs模块读取问题。
安装fs模块
$ npm install fs
异步读 readFile
参数对象
readFile(path[,options],callback)
- path 路径,必填
- options 编码方式 ,可选参数
- callback ,必填,读取文件得结果
读取txt
新建txt文档,命名为yma16。
文件的内容如下:
泥潭里的人,是迈不动腿的。
我叫嚷着要冲出束缚。
可环顾四周,我何尝不是泥潭里的人呢?
如下图所示:
代码如下:
const fs = require("fs");// 异步读文件
fs.readFile("./yma16.txt", 'utf-8',(err, data) => {if (err) throw err;console.log(data);
});
读取成功!
运行结果如下:
流式读 createReadStream
参数对象
createReadStream(path[,options],callback)
- options <Object>可选
- encoding 默认值: null
- autoClose 默认值: true
- emitClose 默认值: true
- start
- end 默认值: Infinity
- highWaterMark 默认值: 64 * 1024
返回:<fs.ReadStream>
读取视频
读取./2020-11-16 15-55-34.mp4
代码如下:
const fs = require("fs");const rs=fs.createReadStream('./2020-11-16 15-55-34.mp4')
// data 文件
rs.on('data',chunk=>{console.log('chunk\t',chunk.length,chunk)
})
// end 事件
rs.on('end',()=>{console.log('读取完成!')
})
读取成功!
运行结果如下:
⭐ 结束
本文分享node读文件(异步读取、流式读取)到此结束,如有不足欢迎指出!
💖感谢你的阅读💖