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 相关文章推荐
window.open打开页面居中显示的示例代码
Dec 27 Javascript
JavaScript检测实例属性, 原型属性
Feb 04 Javascript
JavaScript中的splice()方法使用详解
Jun 09 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
Jun 24 Javascript
AngularJs $parse、$eval和$observe、$watch详解
Sep 21 Javascript
JavaScript模板引擎Template.js使用详解
Dec 15 Javascript
vue实现全选、反选功能
Nov 17 Javascript
基于Cookie常用操作以及属性介绍
Sep 07 Javascript
vue 运用mock数据的示例代码
Nov 07 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
Mar 03 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
Oct 10 Javascript
vue单应用在ios系统中实现微信分享功能操作
Sep 07 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
php计算整个目录大小的方法
2015/06/19 PHP
如何使用jQUery获取选中radio对应的值(一句代码)
2013/06/03 Javascript
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
完美解决浏览器跨域的几种方法(汇总)
2017/05/08 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
JavaScript学习笔记之惰性函数示例详解
2017/08/27 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
JS通过位运算实现权限加解密
2018/08/14 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
详解JavaScript的this指向和绑定
2020/09/08 Javascript
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
浅谈pyhton学习中出现的各种问题(新手必看)
2017/05/17 Python
Python实现图片转字符画的示例
2017/08/22 Python
浅析python的优势和不足之处
2018/11/20 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
2014两会学习心得:时代的发展
2014/03/17 职场文书
学校领导班子对照检查材料
2014/08/28 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
导游词开场白
2015/01/31 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python