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 相关文章推荐
javascript FormatNumber函数实现方法
Dec 30 Javascript
struts2 jquery 打造无限层次的树
Oct 23 Javascript
javascript创建函数的20种方式汇总
Jun 23 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
Oct 05 Javascript
jQuery html表格排序插件tablesorter使用方法详解
Feb 10 Javascript
Webpack打包css后z-index被重新计算的解决方法
Jun 18 Javascript
微信小程序学习之数据处理详解
Jul 05 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
Aug 18 Javascript
基于javascript实现贪吃蛇小游戏
Nov 25 Javascript
JavaScript数组排序小程序实现解析
Jan 13 Javascript
three.js着色器材质的内置变量示例详解
Aug 16 Javascript
ant-design-vue中tree增删改的操作方法
Nov 03 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
图解上海144收音机
2021/03/02 无线电
PHP经典的给图片加水印程序
2006/12/06 PHP
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
javascript的BOM
2016/05/03 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
Python struct.unpack
2008/09/06 Python
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
python链接oracle数据库以及数据库的增删改查实例
2018/01/30 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
python实现淘宝秒杀脚本
2020/06/23 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
python+django+rest框架配置创建方法
2019/08/31 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
2019/09/15 Python
python删除某个目录文件夹的方法
2020/05/26 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
巴西本土电商平台:Americanas
2020/06/21 全球购物
delegate与普通函数的区别
2014/01/22 面试题
大学生的创业计划书就该这么写
2014/01/30 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
交通事故起诉书
2015/05/19 职场文书
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫