Node.js学习之内置模块fs用法示例


Posted in Javascript onJanuary 22, 2020

本文实例讲述了Node.js学习之内置模块fs用法。分享给大家供大家参考,具体如下:

IDE为VSCode

.js内置的fs模块就是文件系统模块,负责读写文件

'use strict'
var fs = require('fs');
//异步读取文件(文本)编码格式指定为utf-8
fs.readFile('sample.txt','utf-8',function(error,data){
  if(error){
    console.log('error');
  }else{
    console.log(data);
  }
});
//异步读取二进制文件返回的data为buffer
fs.readFile('sample.png',function(err,data){
  if(err){
    console.log('error')
  }else{
    console.log(data.length+'bytes');
  }
});
//同步读取(可以加try),异步不能try,并非立即执行不能捕捉
try {
  var data = fs.readFileSync('sample.png');
  console.log(data.length+'bytes');
} catch (error) {
}
//再来看看写入文件往一个文本中写,该文本的格式要是utf-8,不写编码格式默认也是utf-8
fs.writeFile('sample.txt','这是我要写入的文本','utf-8',function(err,data){
  if(err){
    console.log('error');
  }else{
    console.log('success');
  }
})
//同步无回调,略过
//查看文件的信息使用stat()比如,也可以使用同步,不一一演示
fs.stat('sample.txt',function(err,stat){
  if(err){
    console.log('error')
  }else{
    //创建时间
    console.log(stat.birthtime);
    //修改时间
    console.log(stat.mtime);
    console.log(stat.size);
    console.log(stat.isFile);
  }
})
'use strict'
var fs = require('fs');
//创建一个文件读取流,返回一个ReadStream对象,可以对对象进行事件监听,
//data事件表示流的数据已经可以读取了,一般会执行多次,end事件表示这个流已经到末尾了,没有数据可以读取了,
//error事件表示出错了,chunk是文本流的一部分数据
var rs = fs.createReadStream('sample.txt','utf-8');
rs.on('data',function(chunk){
  console.log('data:')
  console.log(chunk);
});
rs.on('end',function(){
  console.log('end');
});
rs.on('error',function(error){
  console.log('error');
});
//写入流(原来文本文件有内容,会覆盖掉)
var is = fs.createWriteStream('copy.txt','utf-8');
is.write('我写点东西');
is.write('我再写点东西');
is.end;
//我们用pipe()把一个文件流和另一个文件流串起来,这样源文件的所有数据就自动写入到目标文件里了,所以,这实际上是一个复制文件的程序:
var rs = fs.createReadStream('sample.txt','utf-8');
var is = fs.createWriteStream('copy.txt','utf-8');
rs.pipe(is);
//默认情况下,当Readable流的数据读取完毕,end事件触发后,将自动关闭Writable流。如果我们不希望自动关闭Writable流,需要传入参数如下
// rs.pipe(is,{end:false});

希望本文所述对大家node.js程序设计有所帮助。

Javascript 相关文章推荐
popdiv
Jul 14 Javascript
jQuery LigerUI 使用教程入门篇
Jan 18 Javascript
Knockoutjs快速入门(经典)
Dec 24 Javascript
jQuery中prop()方法用法实例
Jan 05 Javascript
深入解读JavaScript中的Hoisting机制
Aug 12 Javascript
JS+CSS实现经典的左侧竖向滑动菜单效果
Sep 23 Javascript
jquery实现手风琴效果
Nov 20 Javascript
JS给swf传参数的实现方法
Sep 13 Javascript
Bootstrap基本模板的使用和理解1
Dec 14 Javascript
JavaScript获取键盘按键的键码(参照表)
Jan 10 Javascript
jQuery实现标签页效果实战(4)
Feb 08 Javascript
详解a++和++a的区别
Aug 30 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
Jan 22 #Javascript
ES6学习笔记之let与const用法实例分析
Jan 22 #Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
Jan 22 #Javascript
Vue设置长时间未操作登录自动到期返回登录页
Jan 22 #Javascript
JavaScript设计模型Iterator实例解析
Jan 22 #Javascript
Vue开发环境跨域访问问题
Jan 22 #Javascript
vue中英文切换实例代码
Jan 21 #Javascript
You might like
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
Linux系统下PHP-FPM的安装和配置教程
2015/08/17 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
两个DIV等高的JS的实现代码
2007/12/23 Javascript
JavaScript 利用StringBuffer类提升+=拼接字符串效率
2009/11/24 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
JS交换变量的方法
2015/01/21 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
vue-cli脚手架build目录下utils.js工具配置文件详解
2018/09/14 Javascript
vue项目引入Iconfont图标库的教程图解
2018/10/24 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
祖国在我心中演讲稿200字
2014/08/28 职场文书
水电施工员岗位职责
2015/04/11 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
谢师宴学生致辞
2015/07/27 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python
python内置模块之上下文管理contextlib
2022/06/14 Python
关于MySQL中explain工具的使用
2023/05/08 MySQL