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代码
Mar 07 Javascript
使用JavaScript库还是自己写代码?
Jan 28 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 Javascript
Js 回车换行处理的办法及replace方法应用
Jan 24 Javascript
Javascript 中 null、NaN和undefined的区别总结
Apr 10 Javascript
javascript作用域问题实例分析
Jul 13 Javascript
JQuery EasyUI的使用
Feb 24 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
Jun 25 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
Aug 27 Javascript
javascript简易画板开发
Apr 12 Javascript
webpack vue项目开发环境局域网访问方法
Mar 20 Javascript
vue 引用自定义ttf、otf、在线字体的方法
May 09 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
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
PHP多态代码实例
2015/06/26 PHP
使用laravel和ECharts实现折线图效果的例子
2019/10/09 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
PHP 裁剪图片
2021/03/09 PHP
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
简介JavaScript中setUTCSeconds()方法的使用
2015/06/12 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
几种tab切换详解
2017/02/03 Javascript
利用策略模式与装饰模式扩展JavaScript表单验证功能
2017/02/14 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
2017/04/01 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
JavaScript使用readAsDataURL读取图像文件
2017/05/10 Javascript
node通过express搭建自己的服务器
2017/09/30 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
[47:06]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第一局
2016/03/05 DOTA
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
python3编写ThinkPHP命令执行Getshell的方法
2019/02/26 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
Anaconda的安装及其环境变量的配置详解
2020/04/22 Python
Python如何根据时间序列数据作图
2020/05/12 Python
咖啡为什么会有酸味?你喝到的咖啡為什麼是酸的?
2021/03/17 冲泡冲煮
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
上海天奕面试题笔试题
2015/04/19 面试题
军训生自我鉴定范文
2013/12/27 职场文书
前台文员我鉴定
2014/01/12 职场文书
大二学期个人自我评价
2014/01/13 职场文书
民族团结先进个人事迹材料
2014/06/02 职场文书
教师工作自我鉴定范文
2014/09/14 职场文书
学校社团活动总结
2015/05/07 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers