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 相关文章推荐
jquery限定文本框只能输入数字即整数和小数
Nov 29 Javascript
jquery选择器简述
Aug 31 Javascript
Jquery组件easyUi实现表单验证示例
Aug 23 Javascript
微信小程序实战之运维小项目
Jan 17 Javascript
微信小程序微信支付接入开发实例详解
Apr 12 Javascript
解决webpack -p压缩打包react报语法错误的方法
Jul 03 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
Jun 06 Javascript
4个顶级开源JavaScript图表库
Sep 29 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
Aug 09 Javascript
JavaScript判断浏览器版本的方法
Nov 03 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
Feb 07 Javascript
Openlayers绘制聚合标注
Sep 28 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
使用MaxMind 根据IP地址对访问者定位
2006/10/09 PHP
PHP 文件系统详解
2012/09/13 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
Python深入学习之内存管理
2014/08/31 Python
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
详解appium+python 启动一个app步骤
2017/12/20 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
Python数据正态性检验实现过程
2020/04/18 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
2020/06/28 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
HTML5实现经典坦克大战坦克乱走还能发出一个子弹
2013/09/02 HTML / CSS
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
俄罗斯女装店:12storeez
2019/10/25 全球购物
简述安装Slackware Linux系统的过程
2012/05/08 面试题
工商管理专业职业生涯规划
2014/01/01 职场文书
精彩自我鉴定
2014/01/16 职场文书
标准化管理实施方案
2014/02/25 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
医院营销工作计划
2015/01/16 职场文书
入党转正介绍人意见
2015/06/03 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
JS中如何优雅的使用async await详解
2021/10/05 Javascript