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 相关文章推荐
简单通用的JS滑动门代码
Dec 19 Javascript
javascript动态加载三
Aug 22 Javascript
JS性能优化笔记搜索整理
Aug 21 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
Oct 17 Javascript
js对象基础实例分析
Jan 13 Javascript
关于angular js_$watch监控属性和对象详解
Apr 24 Javascript
深入理解js 中async 函数的含义和用法
May 13 Javascript
JavaScript继承定义与用法实践分析
May 28 Javascript
javascript匿名函数中的'return function()'作用
Oct 15 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
Jan 31 Javascript
什么时候不能在 Node.js 中使用 Lock Files
Jun 24 Javascript
vue.js 使用原生js实现轮播图
Apr 26 Vue.js
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
php5中类的学习
2008/03/28 PHP
php设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
js 鼠标点击事件及其它捕获
2009/06/04 Javascript
UserData用法总结 lanyu出品
2010/07/01 Javascript
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
2011/11/19 Javascript
推荐30个新鲜出炉的精美 jQuery 效果
2012/03/26 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
2017/06/16 Javascript
详解vue中组件参数
2018/07/09 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
Python实现求笛卡尔乘积的方法
2017/09/16 Python
Python图像滤波处理操作示例【基于ImageFilter类】
2019/01/03 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
英国领先的NHS批准的在线药店:Pharmacy2U
2017/01/06 全球购物
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
注塑工厂厂长岗位职责
2013/12/02 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
合作经营协议书范本
2014/04/17 职场文书
图书馆标语
2014/06/19 职场文书
党的群众路线个人对照检查材料
2014/09/23 职场文书
大学军训的体会
2014/11/08 职场文书
2015世界地球日活动总结
2015/02/09 职场文书