Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法


Posted in Javascript onSeptember 03, 2019

fs模块.js:

/* 
 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 
 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 
 3. fs.writeFile 写入文件(文件不存在就创建,但不能创建目录) 
 4. fs.appendFile 写入追加文件 
 5.fs.readFile 读取文件 
 6.fs.readdir 读取目录 
 7.fs.rename 重命名 
 8. fs.rmdir 删除目录 
 9. fs.unlink 删除文件 
*/
var fs=require('fs');  //fs是node.js的核心模块,不用下载安装,可以直接引入 
//1. fs.stat 检测是文件还是目录 fs.statSync()同步获取stats对象,通过返回值接收。
fs.stat('html',function(error,stats){
  if(error){
    console.log(error);
    return false;
  }
  console.log('文件:'+stats.isFile());
  console.log('目录:'+stats.isDirectory());
})
//2. fs.mkdir 创建目录 
fs.mkdir('css',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('创建目录成功');
})
//3. fs.writeFile 写入文件(会覆盖之前的内容)(文件不存在就创建) utf8参数可以省略 
fs.writeFile('123.txt','你好nodejs 覆盖','utf8',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('写入成功');
})
//4. fs.appendFile 追加文件 
fs.appendFile('123.txt','这是写入的内容\n',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('写入成功');
})
//5.fs.readFile 读取文件 
fs.readFile('123.txt',function(error,data){
  if(error){
    console.log(error);
    return false;
  }
  //console.log(data); //data是读取的十六进制的数据。 也可以在参数中加入编码格式"utf8"来解决十六进制的问题;
  console.log(data.toString()); //读取出所有行的信息 
})
//6.fs.readdir 读取目录下第一级内容 把目录下面的文件和文件夹都获取到。 
fs.readdir('html',function(error,data){
  if(error){
    console.log(error);
    return false;
  }
  console.log(data); //data是数组类型,包含文件夹以及文件的名字(只有第一级目录内容)。拿到一个文件夹下面的所有目录 
})
//7.fs.rename 重命名 1.改名 2.剪切文件(移动) 
fs.rename('html/index.html','html/news.html',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('修改名字成功');
})
//8. fs.rmdir 删除目录  rmdir 这个方法只能删除目录,不能删除文件 
fs.rmdir('abc目录',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('删除目录成功');
})
//9. fs.unlink删除文件 
fs.unlink('index.txt',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('删除文件成功');
})
//10. fs.createReadStream 从文件流中读取数据,读取的文件比较大时建议用流的方式读取,文件比较大会多次读取。 
var fileReadStream = fs.createReadStream( 'data1.json');
var str = '';
fileReadStream.on('data', (data) => {
  console.log("接收到" + data.length);  //文件比较大时,会多次读取,多次执行该回调函数 
str += data;
})
fileReadStream.on('end', () => {
  console.log(" --- 结束 ---");
console.log( str );
})
fileReadStream.on('error', (error) => {
  console.log(error)
})
//11. fs.createWriteStream 写入文件流 
var fs = require("fs");
var data = "我是从数据库获取的数据,我要保存起来";
var writerStream = fs.createWriteStream('output.txt');
writerStream.write( data , 'UTF8' );
writerStream.end(); //标记文件末尾 结束写入流,释放资源 
writerStream.on( 'finish', function() {
  console.log("写入完成。");
});
writerStream.on( 'error', function(error){
  console.log(error.stack);
});
console.log("程序执行完毕");
//12. pipe 管道流 
var fs = require("fs");
var readerStream = fs.createReadStream( 'input.txt');
var writerStream = fs.createWriteStream( 'output.txt');
readerStream.pipe( writerStream );
console.log("程序执行完毕");
//13. fs.access 判断目录、文件是否存在(读写权限)
var fs = require('fs');
fs.access('package.json',(err)=>{
  console.log(err ? '目录/文件不存在': '文件存在,可以进行读写');
});

总结

以上所述是小编给大家介绍的Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
js form 验证函数 当前比较流行的错误提示
Jun 23 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
Apr 01 Javascript
jquery获得下拉框值的代码
Aug 13 Javascript
jquery复选框多选赋值给文本框的方法
Jan 27 Javascript
jQuery操作Table技巧大汇总
Jan 23 Javascript
JS中Eval解析JSON字符串的一个小问题
Feb 21 Javascript
JavaScript实现移动端滑动选择日期功能
Jun 21 Javascript
简单实现node.js图片上传
Dec 18 Javascript
JavaScrpt判断一个数是否是质数的实例代码
Jun 11 Javascript
在vue中,v-for的索引index在html中的使用方法
Mar 06 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
Dec 04 jQuery
JavaScript实现飞舞的泡泡效果
Feb 07 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
Sep 03 #Javascript
Layui 动态禁止select下拉的例子
Sep 03 #Javascript
解决Layui中layer报错的问题
Sep 03 #Javascript
Layui Table js 模拟选中checkbox的例子
Sep 03 #Javascript
element ui分页多选,翻页记忆的实例
Sep 03 #Javascript
JavaScript创建、读取和删除cookie
Sep 03 #Javascript
利用d3.js实现蜂巢图表带动画效果
Sep 03 #Javascript
You might like
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
destoon实现公司新闻详细页添加评论功能的方法
2014/07/15 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
PHP合并两个或多个数组的方法
2019/01/20 PHP
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
Vue的轮播图组件实现方法
2018/03/03 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
下载给定网页上图片的方法
2014/02/18 Python
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
对python函数签名的方法详解
2019/01/22 Python
python 实现字符串下标的输出功能
2020/02/13 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
网上开店必备创业计划书
2014/01/26 职场文书
上课迟到检讨书
2014/02/19 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
现役军人家属慰问信
2015/03/24 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
听课评课活动心得体会
2016/01/15 职场文书
vue实力踩坑之push当前页无效
2022/04/10 Vue.js