NodeJs的fs读写删除移动监听


Posted in NodeJs onApril 28, 2017

NodeJs版本:4.4.4

fs

文件系统模块是一个封装了标准的 POSIX 文件 I/O 操作的集合。Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本。

图片的复制与粘贴

创建一个可读流与一个写入流。通过管道pipe。

var fileReadStream = fs.createReadStream(sourcePath);
var fileWriteStream = fs.createWriteStream(targetPath);
fileReadStream.pipe(fileWriteStream);
//监听关闭事件得知执行完成
fileWriteStream.on('close', function() {
 console.log('移动成功!');   
})

读文件(fs.readFile)

定义:fs.readFile(filename[, options], callback)

参数:

  • filename:{String} 文件名/文件路径
  • options:{Object} 可选参数

encoding:{String | Null} 默认 = null 编码方式

flag:{String} 默认 = 'r' 文件打开的行为(可写,可读等)

  • callback:{Function}
var fs = require('fs');
//读取文件
fs.readFile('../lianxi/child_process.js',{
 encoding:'utf-8',
 flag:'r'
}, function(err,data){
 if(err) throw err;
 console.log(data);
});

这里读取文件如果不设置编码方式,读取的文件就是以buffer的形式返回。

<Buffer 76 61 72 20 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 20 3d 20 72 65 71 75 69 72 65 28 27 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 27 29 3b 0d 0a 76 61 72 ... >

设置为utf-8后,返回的就是字符串的形式。如下:

var child_process = require('child_process');...

写文件(fs.writeFile)

定义:fs.writeFile(filename, data[, options], callback)

参数:

  • filename:{String}
  • data:{String | Buffer}
  • options:{Object}

encoding:{String | Null} 默认 = 'utf8'
mode:{Number} 默认 = 438 (aka 0666 in Octal)
flag:{String} 默认 = 'w'

  • callback {Function}
//写入文件
fs.writeFile('../lianxi/child_process.js','[zqz]要写入的数据字符串或者buffer',{
 encoding:'utf8',
 mode:438,
 flag:'w'
},function(err){
})

注意:异步写文件,如果文件已经存在则替换。

打开文件(fs.open)

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

参数:

  • path:文件/文件路径
  • flags:文件打开的行为
  • mode:设置文件模式(权限),文件创建默认权限为 0666(可读,可写)。
  • callback:回调函数
//打开文件
fs.open('../lianxi/child_process.js','r+',0666,function(err,data){
})

给文件添加数据(fs.appendFile)

定义:fs.appendFile(filename, data[, options], callback)

参数:

  • filename:{String}
  • data:{String | Buffer}
  • options:{Object}

encoding {String | Null} 默认 = 'utf8'
mode {Number} 默认 = 438 (aka 0666 in Octal)
flag {String} 默认 = 'a'

  • callback {Function}
//给文件添加数据
fs.appendFile('../lianxi/child_process.js', '异步添加的字符串或buffer', {
 encoding:'utf8',
 mode:438,
 flag:'a'
}, function(err){
});

注意:异步的给文件添加数据,如果文件不存在,就会创建一个文件。

删除文件(fs.unlink)

定义:fs.unlink(path, callback)

var fs = require('fs');
fs.unlink('./t/index.html',function (err) {
 if(err) throw err;
 console.log('成功')
})

创建文件(fs.open)

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

也可以使用fs.open创建文件。

fs.open("test.txt", "w",function (err) {
});

删除文件夹(fs.rmdir)

定义:fs.rmdir(path, callback)

fs.rmdir('./t/a',function (err) {
 if(err) throw err;
 console.log('成功')
})

创建文件夹(fs.mkdir)

定义:fs.mkdir(path[, mode], callback)

参数:mode 默认是 to 0777.

fs.mkdir('./t/a',0777,function (err) {
 if(err) throw err;
 console.log('成功')
})

文件监听(fs.watch fs.watchFile)

定义:fs.watch(filename[, options][, listener])
定义:fs.watchFile(filename[, options], listener)

fs.watch('test.js', function (event, filename) {
});
fs.watchFile('test.js', function(curr, prev){
});

flags

Flag 描述
r 以读取模式打开文件。如果文件不存在抛出异常。
r+ 以读写模式打开文件。如果文件不存在抛出异常。
rs 以同步的方式读取文件。
rs+ 以同步的方式读取和写入文件。
w 以写入模式打开文件,如果文件不存在则创建。
wx 类似 'w',但是如果文件路径存在,则文件写入失败。
w+ 以读写模式打开文件,如果文件不存在则创建。
wx+ 类似 'w+', 但是如果文件路径存在,则文件读写失败。
a 以追加模式打开文件,如果文件不存在则创建。
ax 类似 'a', 但是如果文件路径存在,则文件追加失败。
a+ 以读取追加模式打开文件,如果文件不存在则创建。
ax+ 类似 'a+', 但是如果文件路径存在,则文件读取追加失败。

以上所述是小编给大家介绍的NodeJs的fs读写删除移动监听,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

NodeJs 相关文章推荐
用nodejs写的一个简单项目打包工具
May 11 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
mac下的nodejs环境安装的步骤
May 24 NodeJs
详解Nodejs 通过 fs.createWriteStream 保存文件
Oct 10 NodeJs
详解NODEJS基于FFMPEG视频推流测试
Nov 17 NodeJs
NodeJs实现定时任务的示例代码
Dec 05 NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 NodeJs
NodeJS简单实现WebSocket功能示例
Feb 10 NodeJs
详解nodejs通过响应回写的方式渲染页面资源
Apr 07 NodeJs
typescript nodejs 依赖注入实现方法代码详解
Jul 21 NodeJs
nodejs使用node-xlsx生成excel的方法示例
Aug 22 NodeJs
nodejs中内置模块fs,path常见的用法说明
Nov 07 NodeJs
NodeJs安装npm包一直失败的解决方法
Apr 28 #NodeJs
NodeJs模拟登陆正方教务
Apr 28 #NodeJs
用Nodejs搭建服务器访问html、css、JS等静态资源文件
Apr 28 #NodeJs
Nodejs读取文件时相对路径的正确写法(使用fs模块)
Apr 27 #NodeJs
详解nodejs express下使用redis管理session
Apr 24 #NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 #NodeJs
Nodejs进阶:express+session实现简易登录身份认证
Apr 24 #NodeJs
You might like
在PHP中利用XML技术构造远程服务(下)
2006/10/09 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
ThinkPHP之N方法实例详解
2014/06/20 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
javascript全局变量封装模块实现代码
2012/11/28 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
微信小程序开发打开另一个小程序的实现方法
2020/05/17 Javascript
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
python制作websocket服务器实例分享
2016/11/20 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
python列表的增删改查实例代码
2018/01/30 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
python逆序打印各位数字的方法
2018/06/25 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
香港礼品网站:GiftU eshop
2017/09/01 全球购物
Java语言程序设计测试题判断题部分
2013/01/06 面试题
一套Delphi的笔试题二
2013/05/11 面试题
航海技术专业毕业生求职信
2014/04/06 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
2016年中学清明节活动总结
2016/04/01 职场文书
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android