fs模块主要功能小解

打开文件:

fs.open(path, flags[, mode], callback)

path: 要打开的文件的路径

flags: 文件打开的行为

解析:

r 读取

w 写入并删除原内容

+

r+ 可读取可写入(若目标文件不存在报错)

w+ 可读取可写入(若目标文件不存在新建)

a+ 可读取可追加(若目标文件不存在新建)

a追加(不删除原内容)

x独占模式

callback: 回调函数,两个参数(err, fd)

fd: 文件描述符

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

读取:

方法一: fs.read(fd, buffer, offset, length, position, callback(err, bytesRead, buffer))

功能: 读取并写入buffer

fd: 文件描述符

buffer: 要写入的buffer

offset: 写入bufffer的起始位置

length: 写入buffer的长度,也是读取长度

position: 读取位置,为null时为当前为本指针位置

方法二: fs.readFile(path, [,encoding], callback(err, data))

功能: 读取,简化的读取文件方法,不需要事先open,也不需要close,整个读取

encoding: 指定读取时的编码方式,为空的情况下以buffer的形式返回

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

写入:

方法一: fs.write

1.写入buffer: fs.write(fd, buffer, offset, length,[, position], callback(err, bytesRead, buffer))

----------------------------------------对象--------------目标--------------------------------------

buffer: 可写入buffer

offset: 要写入的buffer的起始位置

length: 要写入的buffer的长度,数字类型,以字节为单位

position: 写入的对象的位置,为null时为当前文件指针的位置(仅对w有效,其默认位置为0, 对a无效,无论数字,多少都是从最后追加,不可不填)

callback:三个参数(err, bytesRead, buffer)

bytesRead: 写入的字节数

buffer: 写入的buffer

2.写入string时:fs.write(fd, str,[,postion][, encoding], callback(err, written, str))

str: 写入的字符串

encoding: 以什么样的编码方式写入

callback 有3个参数(err, written, string)

written: 写入的字节数

str: 写入的字符串

方法二: fs.writeFile(fileName, buffer/str, [options], [callback(err)])

1.写入buffer时: fs.writeFile(fileName, buffer, callback(err))

2.写入string时: fs.writeFile(fileName, str, [options], [callback(err)])

options包括:

encoding:编码方式默认utf-8

flag:默认w

mode: 文件读取权限,默认438

eg: options = { encoding: ‘utf8‘, mode: 438, flag: ‘w‘ };

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

关闭:

fs.close(fd, callback(err))

回调函数没有参数

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

截取:

fs.ftruncate(fd, len, callback(err))

len: 从目标文件的起始位置开始,以字节为单位截取,大于len的字符串会被删除

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

删除:

fs.unlink(path, callback(err))

删除目标文件

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

				
时间: 2024-08-24 07:52:10

fs模块主要功能小解的相关文章

文本操作模块-fs模块(五)

fs模块是一个比较庞大的模块,在前面也介绍了该模块中最核心的一点东西,虽然核心的这点东西,在整个fs模块中占据的比例比较小,但是如果只是我们平常使用的话,基本已经够用了,其他的一些方法,属于能力提升时需要学习的的内容了,所以在后面就不再继续了,本篇属于fs模块中的最后一篇,也不是把fs模块中的其他API都给一一列举出来,这里再说最后一个我看来很重要的方法,监听文件或者目录的的方法watchFile. 概总 这里之所以在最后把这个watchFile方法写入到这里,是因为在前端的一个流行的构建工具g

Node.js 文件系统fs模块

Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取.写入.更名.删除.遍历目录.链接等POSIX 文件系统操作. 与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync().我们以几个函数为代表,介绍 fs 常用的功能,并列出 fs 所有函数 的定义和功能. 一.fs 模块函数表 二.fs 部分API fs.readFile Node.js读取文件函数语法如下

nodejs入门API之fs模块

fs模块下的类与FS常量 fs模块下的主要方法 fs的Promise API与FileHandle类 一.fs模块下的类 1.1 fs.Dir:表示目录流的类,由 fs.opendir().fs.opendirSync() 或 fsPromises.opendir() 创建. 1.2 fs.Dirent:目录项的表现形式,通过从fs.Dir中读取返回. 1.3 fs.FSWatcher:继承自 <EventEmitter>,调用 fs.watch() 方法返回该对象.每当指定监视的文件被修改时

nodejs学习笔记一( sublime、atom开发环境,http模块,fs模块的初识)

http服务 let server = http.createServer(function(req,res){ }); 监听: server.listen(8080); request       请求 response     相应 编辑器配置相应的环境 sublime: 依次打开  Tools --> Build System --> new Build System 中文:工具 --> 编译系统 --> 新建编译系统 输入以下代码,保存配置文件,然后 使用快捷键 Ctrl

Node.js 初识 fs 模块

fs 模块是文件操作的封装,它提供了文件的读取.写入.更名.删除.遍历目录.链接等 Unix 文件系统操作.与其他模块不同的是,fs 模块中所有的操作都提供了 同步 和 异步 两个版本,比如读取文件内容的函数有 异步的 fs.readFile() 和 同步的 fs.readFileSync(). Node.js 导入文件系统模块的语法如下: var fs = require('fs'); 1.异步和同步读取文件 fs.readFile(file[, options], callback(err,

利用async和await异步操作解决node.js里面fs模块异步读写,同步结果的问题

async await 解决异步问题,这两个关键字是es7提出的,所以测试,node和浏览器版本提高一些 async await 操作基于promise实现的 async await这两个关键字是一起使用,分开使用会报错 await 后面只能跟promise对象 不熟悉的promise异步操作的朋友,去看看我promise那边文章 Promise 解决多层嵌套,回调地狱什么叫回调地狱写一个实例,就是恶心的多层欠嵌套 function a(){ function b(){ function c()

关于小周同志在消息模块定位功能修改时存在的问题分析

1. 解决的流程有问题:在接收任务时,没有按规则先整理出修改的思路,步骤,与最初开发人员讨论,并向领导报告预改进方案,使改造路线出现偏差. 2.未能理解原有设计,程序开发理念理解不足:未深入理想原有代码的设计基本思路,原来的设计在思想深处严格遵守MVC思路,以本地数据集为依托,一切V层的绘制,是先以M层数据变化为基础的.所以,如果要完成传入定位参数,打开指定会话的任务,第一件事应该是将数据模型进行修改为正确的,然后根据数据进行重绘,或进行V层的调整.现在的修改方法是:未最先调整数据模型,按原来的

DNV Phast &amp; Safeti v6.53.1 1CD(事故后果模拟、安全风险计算软件,五模块全部功能版)

CrystalMaker.Software.SingleCrystal.v2.3.2 1CDCrystalMaker.v2.3.2 1CDCrystal.Studio.v4.0 1CD ChemStat.v6.1.Ansi 1CD(地下水监控分析系统)ChemStat.v6.1.Unicode 1CDChemWindow6 完全版 1CDChemistry 4D v7.60 1CD(整合最先进化学结构绘制技术的下一代化学应用工具)CMG.Suite.v2015.101-ISO 1DVDCMG S

RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-&gt;Web版本模块管理界面新增模块排序功能

模块(菜单)的排序是每个系统都必须要有的功能,我们框架模块的排序在业务逻辑中已经体现. WinForm版本可以直接在界面上对模块进行排序以控制模块展示的顺序.Web版本在3.2版本中也新增了直接可以模块管理界面对模块进行排序的人性化操作,大大的方便了管理人员.模块的排序在模块管理主界面分页按钮的右侧如下图所示. 三个按钮功能分别为:上移.下移.确认修改 WebMVC部分,模块排序功能代码参考: /// <summary> /// 保存模块排序功能 /// </summary> //