- 0
- 0
- 约2.11万字
- 约 16页
- 2026-02-09 发布于四川
- 举报
文件操作(异步回调)
注意,所有文件系统API中,除了fs.FSWatcher()和那些显式同步的方法之外,都使用
了libuv的线程池,这对于某些应用程序可能会产生出乎意料问题和的性能影响
通过上节课我们了解到NodeJS的大部分API都是基于驱动的,比如我们使用
NodejI一个文件,NodeJS底层libuv模块会使用线程池中的一条线程处理文件IO
的操作,当成功或失败都通过调用我们的回调函数取处理,这就是我们所
说的异步编程下面我们来看看在NodeJS中文件操作的一些API来熟悉异步编程
文件模块的引入
在使用NodeJs的文件系统模块之前我们首先要在当前文档中引入这个模块(至于模块的概
念我们下节课再介绍),引入模块的方法require(模块名称)
1/**
*注意这里使用的const这里我们是引入模块显然不会再修改这个值了
*所以这里我们使用const关键字为常量更好
*/
constfs=require(fs);//引入fs(文件操作模块)
读入文件文件系统常量说明
1/**
*filename,必选参数,文件名
*[options],可选参数,可指定flag(文件操作选项,如r+读写;w+读写,文件不存
在则创建)及encoding属性
*callback文件后的回调函数,参数默认第一个err,第二个data数据
*/
6
7fs.readFile(dirname+/test.txt,{flag:r+,encoding:
utf8},function(err,data){
8if(err)
9{console.error(err);
10return;
11}
12console.log(data);
13});
写入文件全局变量
1/**
*filename,必选参数,文件名
*data,写入的数据,可以字符或一个Buffer对象
*[options],flag,mode(权限,默认0666(可读,可写)),encoding
*callback文件后的回调函数,参数默认第一个err,第二个data数据
*/
7
8fs.writeFile(dirname+/test.txt,大家好!!,{flag:a},
function(err)
9{if(err){
10console.error(err);
11}else{
12console.log(写入成功);
13}
14});
追加写入文件使用了箭头函数()={}
1/**
*filename,必选参数,文件名
*data,写入的数据,可以字符或一个Buffer对象
*[options],flag,mode(权限,默认0666(可读,可写)),encoding
*callback文件后的回调函数,参数默认第一个err,第二个data数据
*/
fs.appendFile(dirname+/test.txt,追加一点内容,(err)={
if(err){
console.log(err);
return;
11}
12console.log(追加成功!!!!!)
13});
删除文件
1/**
2filename,必选参数,文件名
3callback删除文件函数,只有一个参
您可能关注的文档
- Check Point 4600系列企业级安全设备快速组网及连接选项.pdf
- 数字孪生文化空间对消费行为的重塑机制.docx
- 生物催化与碳循环利用融合的绿色能量转换机制.docx
- 冰雪运动装备产业升级发展路径研究.docx
- (综合管理类A类)事业单位考试综合应用能力广东省广州市2026年巩固重点精析.docx
- 慢性非传染性疾病控制(088)(正高级)高级卫生专业技术资格考试巩固要点详解(2026年).docx
- 基层治理现代化中的法治作用.pptx
- 数据要素市场化配置对虚拟现实内容生态的促进机制.docx
- 沉浸式交互空间演化趋势与社交行为重构.docx
- 四川省高一下学期期末历史复习重点精析.docx
原创力文档

文档评论(0)