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))
删除目标文件
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
fs模块主要功能小解的更多相关文章
- nodejs模块——fs模块
fs模块用于对系统文件及目录进行读写操作. 一.同步和异步 使用require('fs')载入fs模块,模块中所有方法都有同步和异步两种形式. 异步方法中回调函数的第一个参数总是留给异常参数(exce ...
- node.js系列笔记之fs模块《二》
一:感触 最近工作比较忙,感觉也比较多,因为工作上的不顺利,再加上加班比较多,所以最近心情不是很好,再加上英语能力差到不行,所以最近半个月学习进度也比较慢, 但还是告诉自己每天都坚持学一点,即使今天心 ...
- Node.js 文件系统fs模块
Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取.写入.更名.删除.遍历目录.链接等POSIX 文件系统操作. 与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个 ...
- nodejs入门API之fs模块
fs模块下的类与FS常量 fs模块下的主要方法 fs的Promise API与FileHandle类 一.fs模块下的类 1.1 fs.Dir:表示目录流的类,由 fs.opendir().fs.op ...
- node.js入门学习(一)环境安装,REPL,fs模块,path模块,http模块
一.node.js介绍 1.1.node.js是什么 官网首页总结:Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时. 1)node.js是一个开发平台,就像j ...
- Node学习(二) --使用http和fs模块实现一个简单的服务器
1.创建一个www目录,存储静态文件1.html.1.jpg. * html文件内容如下: 12345678910111213 <html lang="en">< ...
- nodejs中的fs模块中的方法
nodejs中的fs模块 引入模块 const fs =require("fs") 检测文件是否存在fs.stat(path,callback) fs.stat("./n ...
- Smart3D系列教程3之 《论照片三维重建中Smart3D几个工作模块的功能意义》
[摘要] 近年来,倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,利用照片进行三维重建成为一项关键性的技术.Smart3D软件,是照片三维重建主流软件之一,本文将就Smart3D建模软件 ...
- Atitit 软件项目非法模块与功能的管理与 监狱管理的对比 原理与概论attilax总结
Atitit 软件项目非法模块与功能的管理与 监狱管理的对比 原理与概论attilax总结 软件项目中的非法模块非法功能非法分子与人类中的非法分子很是相似,必须要建议不同的的约束管理标准化... 软 ...
随机推荐
- Jquery几秒自动跳转
$(document).ready(function() { function jump(count) { window.setTimeout(function(){ count--; if(coun ...
- html5 -----audio标签
在现在的公司上班需要做一个html5页面,上下可以滑动的,在页面上需要音乐,默认开始音乐播放,点击音乐标签后音乐停止.后来在项目开发中,遇到性能优化的问题,所以我建议大家以后在使用时不要直接在页面中使 ...
- 在GNU/Linux下设置与定时更换桌面壁纸
1 简介 在电脑桌面设置一组可以定时更换的壁纸已经不是什么新奇的功能了.比如,Windows 7.KDE桌面环境都可以实现这样的效果.可是,自己目前使用的Debian系统并未安装KDE.GNOME这样 ...
- 导入libxml.dylib用Google的GDataXML解析XML数据
1.用Google的GDataXML来解析XML数据,导入libxml.dylib 2.导入libxml.dylib的操作实现,一开始自己总是找不到libxml.dylib文件. 选择其他文件,到路径 ...
- xshell 注册码
Xshell 5 注册码: 101210-450789-147200Xftp 5 注册码:101210-450789-147200 Xmanager 5 注册码:101210-450789-14720 ...
- win7搭建php7+apache2.4
从事php开发的工作也将近两年的时间了,期间在windows上安装了很多次php+apache+mysql,但一直没有写过一篇属于自己的文章,今天心血来潮准备写一篇,长话短说,开搞!! 我在配置php ...
- hdu 1531 King
首先吐槽一下这个题目的题意描述,我看了半天才明白. 下标全部都是乱标的!!!!出题者能不能规范一点下标的写法!!!! 差分约束系统 #include<cstdio> #include< ...
- The most orzed and orzing man
The most orzed and orzing man 题目链接:http://acm.xidian.edu.cn/problem.php?id=1184 Sprague-Grundy定理:htt ...
- L3-003. 社交集群
L3-003. 社交集群 题目链接:https://www.patest.cn/contests/gplt/L3-003 查并集 与L2-007(家庭房产)类似,都是采用了并查集的算法,相对来说这题处 ...
- VMWARE player 如何让 win2012 guest os 支持HYPER-V
在 vm player 下安装了 win2012 r2, 但是启用 hyper-v的时候,提示不支持, 这时候要修改 Open the file Location for this Virtual M ...