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 模块开发及发布详解分享
Mar 07 NodeJs
Nodejs极简入门教程(三):进程
Oct 27 NodeJs
nodejs初步体验篇
Nov 23 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 NodeJs
nodejs的HTML分析利器node-jquery用法浅析
Nov 08 NodeJs
初探nodeJS
Jan 24 NodeJs
nodejs个人博客开发第五步 分配数据
Apr 12 NodeJs
详解nodejs express下使用redis管理session
Apr 24 NodeJs
详解nodejs微信jssdk后端接口
May 25 NodeJs
详解Nodejs之静态资源处理
Jun 05 NodeJs
nodejs acl的用户权限管理详解
Mar 14 NodeJs
用Nodejs实现在终端中炒股的实现
Oct 18 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图片上传程序
2008/03/27 PHP
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
php实现将二维关联数组转换成字符串的方法详解
2017/07/31 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
js 浮动层菜单收藏
2009/01/16 Javascript
jQuery html()等方法介绍
2009/11/18 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
2016/05/17 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
使用JQuery实现图片轮播效果的实例(推荐)
2017/10/24 jQuery
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
图解Python变量与赋值
2018/04/03 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
New Balance波兰官方商城:始于1906年,百年慢跑品牌
2017/08/15 全球购物
美国正宗奢华复古手袋、珠宝及配饰网站:What Goes Around Comes Around
2018/07/21 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js