node笔记_读文件(异步读取、流式读取)

article/2025/10/23 21:00:35

文章目录

    • ⭐前言
    • ⭐ 读取文件
      • 异步读 readFile
        • 读取txt
      • 流式读 createReadStream
        • 读取视频
    • ⭐ 结束

yma16-logo

⭐前言

大家好,我是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。
文件的内容如下:

泥潭里的人,是迈不动腿的。
我叫嚷着要冲出束缚。
可环顾四周,我何尝不是泥潭里的人呢?

如下图所示:

show-file
代码如下:

const fs = require("fs");// 异步读文件
fs.readFile("./yma16.txt", 'utf-8',(err, data) => {if (err) throw err;console.log(data);
});

读取成功!
运行结果如下:
read-file

流式读 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('读取完成!')
})

读取成功!
运行结果如下:
read-file

⭐ 结束

本文分享node读文件(异步读取、流式读取)到此结束,如有不足欢迎指出!
💖感谢你的阅读💖

scene


http://chatgpt.dhexx.cn/article/BQrnYjB2.shtml

相关文章

前端:安装node.js、配置环境、安装vue、安装yarn、常见错误

安装node.js 1.下载链接&#xff1a; node.js下载官网 配置环境 推荐视频教程&#xff1a;node.js安装、环境变量配置 注意&#xff1a; 下面两行分别输入到控制台中&#xff0c;视频中UP主少打一个空格键&#xff0c;复制下面的就可以&#xff0c;双引号里是文件夹路径 npm…

Node.js从基础到项目实践

摘要&#xff1a; Node.js是一个基于Chrome V8引擎的JavaScript运行时环境&#xff0c;它允许开发者使用JavaScript构建高性能的服务器端应用程序。本文将介绍Node.js的基础知识&#xff0c;并通过项目实践的方式帮助读者深入理解Node.js的用法和功能。从基础到项目实践&#x…

Node.js—数据库

1. 数据库的基本概念 1.1. 什么是数据库 数据库&#xff08;database&#xff09;是用来组织、存储和管理数据的仓库。 为了方便管理互联网世界中的数据&#xff0c;就有了数据库管理系统的概念&#xff08;简称&#xff1a;数据库&#xff09;。用户可以对数据库中的数据进…

Node.js的常用内置模块

目录 一、os模块 1.1 引入 2.2基本语法 二、path模块 2.1 引入 2.2基本语法 三、url模块 3.1 引入 3.2 基本语法 ​ 四、fs模块 4.1 引入 4.2 基本语法 4.2.1 写入内容 4.2.2 追加内容 4.2.3 读取文件 4.2.4 判断是否为文件或者文件夹 4.2.5 删除文件 五、…

10个常见的Node.js面试题

窗体  如果你希望找一份有关Node.js的工作&#xff0c;但又不知道从哪里入手评测自己对Node.js的掌握程度。 本文就为你罗列了10个常见的Node.js面试题&#xff0c;分别考察了Node.js编程相关的几个主要方面。 在进入正文之前&#xff0c;需要提前声明两点&#xff1a; 这些…

node服务器部署

网络 TCP/IP网络协议 聊TCP/IP协议之前, 咱们先看一下OSI七层模型. 第 7 层&#xff1a;应用层 为操作系统或网络应用程序提供访问网络服务的接口。应用层协议的代表包括&#xff1a; HTTP&#xff0c;HTTPS&#xff0c;FTP&#xff0c;TELNET&#xff0c;SSH&#xff0c;SM…

15 个常见的 Node.js 面试问题及答案

俗话说&#xff1a;临阵磨枪&#xff0c;不快也光。对于成功的编程面试来说&#xff0c;准备和知识面一样重要。准备使你有信心参加面试&#xff0c;而不用担心莫名的紧张情绪。如果第一次参加编程面试&#xff0c;这一点尤其重要。 为帮助 Node.js 开发人员更好的面试&#x…

node.js 详解

目录 一. 初始node.js 1.为什么 JavaScript 可以在浏览器中被执行&#xff1f; 2. node.js 简介 3. node.js 查看是否安装 4. 运行文件 (1).在终端中输入 &#xff1a;node 文件 (2). 终端中的快捷键 二. fs 文件系统模块 1. fs.readFile() 和 fs.readFileSync()&…

轻量级音乐播放器 android,5款顶级Android离线音乐播放器,哪款才是你的菜?

打开左侧栏,Stellio 的功能排列井井有条。你可以选择多样的播放队列,根据专辑、演奏者等属性快速找到想要的歌曲。 重视细节的Stellio 还有睡眠模式、自定义widget 等小功能。难能可贵的是,它还支持Android Wear。 均衡器也是Stellio 的重头戏,拥有12 频段和16 种预设模式。…

Android Studio实现音乐播放器2.0

项目目录 一、引言二、项目概述1、需求分析2、设计分析3、资源文件分析 三、开发环境四、优化设计&#x1f337;1、上一首下一首&#x1f33e;2、控件UI优化&#x1f341;3、登录和注册&#x1f334;4、数据库设计&#x1f33b;5、歌手导航栏 五、运行效果六、项目总结七、源码…

Android本地音乐播放器的制作

如何制作android本地的音乐播放器呢&#xff1f;步骤通常是如下&#xff1a; 1.在清单文件AndroidMainFest.xml文件当中添加权限。 <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE"/>2.需要找到当前module的build.gradle文件当中t…

Android 编程案例-本地音乐播放器源码及使用注意事项

说一下代码在用的时候注意事项以及在运行的时候可能遇到的问题&#xff1a; 首先代码可以在创建相应文件后直接复制&#xff0c;这个案例用到了RecyclerView&#xff0c;所以需要先添加依赖。添加下面两个&#xff1a; implementation ‘com.android.support:recyclerview-v7…

Android开发之本地音乐播放器(二)

此次音乐播放器是针对上一个&#xff1a;https://blog.csdn.net/qq_43433255/article/details/88084420 开发出来的一个功能增强型&#xff0c;基本实现功能为&#xff1a; 通过列表管理SD中的音乐文件。通过seekbar可以显示一首音乐的播放进度。通过seekbar实现音乐播放的进度…

Android音乐播放器源码

转载自&#xff1a;https://blog.csdn.net/xch_yang/article/details/103916201 android开发音乐播放器&#xff0c;能够很好的应用Android基础知识&#xff0c;是个不错的开发选择&#xff0c;部分界面如下 这个项目很好的结合了Android的四大组件知识。其中音乐来源于手机本…

本地音乐播放器+android8.1,APlayer v1.5.6.8-15681 安卓本地音乐播放器 | 智享阁

应用简介 APlayer是一款安卓本地音乐播放器&#xff0c;遵循 Material Design 设计&#xff0c;UI清新简洁、操作简单、功能齐全。 应用特点 首页Tab可配置&#xff0c;最多支持五个,包括歌曲、艺术家、专辑、文件夹、播放列表 专辑、艺术家封面自动补全 支持显示本地和在线歌词…

大作业---Android本地音乐播放器开发知识点19145120

步骤 系列文章前言1. 简述程序、进程、线程的区别和联系。&#xff08;10分&#xff09;2. 什么是UI线程&#xff1f;&#xff1f;什么是工作线程&#xff1f;&#xff08;10分&#xff09;3. 如何定义1个结构良好可控的工作线程&#xff08;源代码说明&#xff09;&#xff1f…

Android入门之本地音乐播放器

功能简介 读取模拟器中音乐文件&#xff1b;列表展示&#xff0c;获取歌曲详细信息&#xff1a;歌名、歌手名、专辑名、专辑封面、播放时间等&#xff1b;基本功能&#xff1a;上下切歌&#xff0c;播放暂停、进度条显示与点击跳转。成品效果图&#xff1a; Mediaplayer基本…

大学生安卓期末设计之本地音乐播放器

作为一个热爱设计交互性产品的男大学生&#xff0c;我真的不太爱听课&#xff0c;所以很多时候&#xff0c;需要一个人学会阅读搜索资料并不停尝试&#xff0c;我希望大家也多多热爱这样持之以恒的尝试。 先看产品的一个模拟机测试效果&#xff08;b站南阳洛信也有视频) 安卓A…

Android本地音乐播放器

UI界面模仿QQ音乐 实现一个简单的本地播放器&#xff0c;功能包括&#xff1a;播放&#xff0c;暂停&#xff0c;上一曲&#xff0c;下一曲&#xff0c;进度条。 功能实现 读取本地音乐 1.创建一个Song类 public class Song {public String song;//歌曲名public String sing…

毕业设计- 基于Android的本地音乐播放器

—— 木叶飞舞之处&#xff0c;火亦生生不息。 项目介绍 本系统支持扫瞄本地音乐播放、暂停、上一首、下一首&#xff0c;点击播放栏跳转到播放页面&#xff0c;可查看当前播放列表&#xff0c;设置播放模式如顺序播放、随机播放&#xff0c;标记为我的喜欢&#xff0c;可以创…