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 22 NodeJs
windows下安装nodejs及框架express
Aug 07 NodeJs
Nodejs Stream 数据流使用手册
Apr 17 NodeJs
nodejs 的 session 简单使用
Jun 06 NodeJs
Nodejs高扩展性的模板引擎 functmpl简介
Feb 13 NodeJs
详谈Angular路由与Nodejs路由的区别
Mar 05 NodeJs
nodejs搭建本地http服务器教程
Mar 13 NodeJs
nodeJS实现路由功能实例代码
Jun 08 NodeJs
Nodejs进阶之服务端字符编解码和乱码处理
Sep 04 NodeJs
ubuntu编译nodejs所需的软件并安装
Sep 12 NodeJs
nodeJs项目在阿里云的简单部署
Nov 27 NodeJs
Nodejs 微信小程序消息推送的实现
Jan 20 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 获取远程文件内容的函数代码
2010/03/24 PHP
10 个经典PHP函数
2013/10/17 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
php实现分页显示
2015/11/03 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
bootstrap配合Masonry插件实现瀑布式布局
2017/01/18 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
探究Python中isalnum()方法的使用
2015/05/18 Python
Python实现分割文件及合并文件的方法
2015/07/10 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
使用Python制作简单的小程序IP查看器功能
2019/04/16 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
2020/11/28 Python
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
浅析HTML5 meta viewport参数
2020/10/28 HTML / CSS
社区党员先进事迹
2014/01/22 职场文书
电台实习生求职信
2014/02/25 职场文书
函授毕业生自我鉴定范文
2014/03/25 职场文书
领导班子四风查摆对照检查材料思想汇报
2014/10/05 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS