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中读取中文文件编码问题、发送邮件和定时任务实例
Jan 01 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 NodeJs
详谈Angular路由与Nodejs路由的区别
Mar 05 NodeJs
Nodejs基于LRU算法实现的缓存处理操作示例
Mar 17 NodeJs
nodejs密码加密中生成随机数的实例代码
Jul 17 NodeJs
nodejs之get/post请求的几种方式小结
Jul 26 NodeJs
Nodejs 和Session 原理及实战技巧小结
Aug 25 NodeJs
Nodejs 和 Electron ubuntu下快速安装过程
May 04 NodeJs
详解webpack打包nodejs项目(前端代码)
Sep 19 NodeJs
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
Nov 01 NodeJs
nodejs中实现修改用户路由功能
May 24 NodeJs
nodejs处理tcp连接的核心流程
Feb 26 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+ajax实现无刷新分页
2015/11/18 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
Javascript获取当前日期的农历日期代码
2014/10/08 Javascript
JS 作用域与作用域链详解
2015/04/07 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
2018/11/05 Javascript
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
pygame实现五子棋游戏
2019/10/29 Python
Python多线程多进程实例对比解析
2020/03/12 Python
html5使用canvas画三角形
2014/12/15 HTML / CSS
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
阿巴庭院:Abba Patio
2019/06/18 全球购物
法国滑雪假期的专家:Ski Planet
2019/11/02 全球购物
护士辞职信模板
2014/01/20 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
Django实现翻页的示例代码
2021/05/24 Python