node使用fs模块(二)—— 读取文件的基本使用(普通读取、同步读取等、流式读取)

文章目录

  • 一、读取文件
    • 1. 参数说明
    • 2. 基本使用
    • 3.读取文件的同步和异步
  • 二、流式文件写入(fs.appendFile)
    • 1. 参数说明
    • 2.基本使用


一、读取文件

1. 参数说明

参数1: path——读取的文件路径(必填
参数2: option——读取的文件配置(可选)
参数3: callback——读取回调函数(必填

在这里插入图片描述

2. 基本使用

回调函数的参数说明:
err 读取失败的提示信息
data 读取成功的utf-8编码

const fs = require('fs')// err 读取失败的提示信息
// data 读取成功的utf-8编码
fs.readFile('./text.txt', (err, data) => {if (err) {console.log('读取失败')return} else {console.log('读取成功',data.toString());}
})

在这里插入图片描述

3.读取文件的同步和异步

读取文件同异步的区别:
readFile 同步
readFileSync 异步,没有回调函数,会有返回值,返回的是读取的uft-8编码数据。

如下示例:

const fs = require('fs')
let data = fs.readFileSync('./text.txt') // 没有回调函数,
console.log(data.toString());

在这里插入图片描述

二、流式文件写入(fs.appendFile)

1. 参数说明

在这里插入图片描述

2.基本使用

const fs = require('fs')const rs = fs.createReadStream('./text.txt')// 绑定data事件(读取文件)
rs.on('data', chunk => {console.log(chunk.length); // 返回字节(文件大小)console.log(chunk.toString()); // 只支持txt文件,其他文件会乱码(如mp3、mp4等)
})// 读取结束事件(可选)
rs.on('end', chunk => {console.log('读取完成'); 
})

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/155546.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

25 行为型模式-备忘录模式

1 备忘录模式介绍 备忘录模式(memento pattern)定义: 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态. 2 备忘录模式原理 3 备忘录模式实现 /*** 发起人角色**/ public class Originator {private Strin…

云安全-云原生技术架构(Docker逃逸技术-特权与危险挂载)

0x00 云原生技术-docker docker容器和虚拟机的对比:前者是将运行环境打包,封装一个环境。后者是将整个系统打包,封装一个系统。在操作使用上来说各有利弊。 0x01 docker容器的三种逃逸类型 特权模式启动(不安全的启动方式&…

MyBatis-Plus使用——配置yml参数 常用的注解@Table,@TableId,@IdType,@TableField,CRUD的API接口

前言 MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 本系列博客结合实际应用场景,阐述MyBatis-Plus实际…

redis的分布式锁

分布式锁是一种用在分布式系统中实现同步和互斥访问的机制。 1、分布式锁概念 满足分布式系统或者集群模式下,多进程可见并且互斥的锁。 分布式锁的核心思想就是让分布式集群中的节点都适用同一把锁,只要大家使用的是同一把锁,就能锁住线程…

AGENTTUNING:为LLM启用广义的代理能力

背景 翻译智谱这篇文章的初衷是,智谱推出了他们所谓的第三代大模型。这第三代的特点在哪呢:个人总结主要有一下几个点: 1.用特定prompt方式自闭环方式解决安全注入问题 2.增加了模型function call、agent能力 3.具备代码能力 4.做了能力…

Data Stream 复习(考试向)

Data Stream Review OverallUniform SamplingBloom FilterMisra-Gries AlgorithmCountMin Sketch AlgorithmCount Sketch Algorithm Overall Uniform Sampling Bloom Filter 一个箱子没有球的概率可以表示为 (1 - 1/n)^m 的原因是基于以下逻辑: 对于第一个球&#x…

【卷积神经网络】YOLO 算法原理

在计算机视觉领域中,目标检测(Object Detection)是一个具有挑战性且重要的新兴研究方向。目标检测不仅要预测图片中是否包含待检测的目标,还需要在图片中指出它们的位置。2015 年,Joseph Redmon, Santosh Divvala 等人…

360加固APP后启动崩溃—注意加固前后签名是否一致

如下截图所示,我今天就是遇到了这个问题,这个问题是比较好解决,但如果官网有显眼指引说明会不会对开发者更友好些呢? 首先我们给360的加固包是带有自己的签名的,然后经360加固过后(免费的加固服务&#xf…

Mybatis—XML配置文件、动态SQL

学习完Mybatis的基本操作之后&#xff0c;继续学习Mybatis—XML配置文件、动态SQL。 目录 Mybatis的XML配置文件XML配置文件规范XML配置文件实现MybatisX的使用 Mybatis动态SQL动态SQL-if条件查询 \<if\>与\<where\>更新员工 \<set\>小结 动态SQL-\<forea…

按相同时间切割长视频

需求 将一段1小时的.mkv视频&#xff0c;按每5分钟切割&#xff0c;并转成.mp4 工具 格式工程 x64 5.15&#xff0c;下载 这真是个好工具&#xff0c;考虑过PR&#xff0c;无意间发现这软件很强大 实现步骤 第一步&#xff1a;选择视频&#xff0c;导出MP4&#xff0c;添…

HTML基础

HTML 基础 HTML 结构 HTML 代码是由 “标签” 构成的. <body>hello</body>第一个html 文件 <html> <head></head><body>hello world</body> </html>下面我们看一下这个代码的特点: html 代码是通过标签来组织的, 形如 &l…

Android开发知识学习——HTTPS

文章目录 定义HTTPS连接HTTPS 连接建立的过程课后题 定义 HTTP Secure / HTTP over SSL / HTTP over TLS SSL&#xff1a;Secure Socket Layer -> TLS Transport Layer Security 定义&#xff1a;在HTTP之下增加的一个安全层&#xff0c;用于保障HTTP的加密传输 本质&…