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 相关文章推荐
类似GMAIL的Ajax信息反馈显示
Feb 16 Javascript
心扬JS分页函数代码
Sep 10 Javascript
面向对象继承实例(a如何继承b问题)(自写)
Jul 01 Javascript
javascript特殊用法示例介绍
Nov 29 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
Jan 16 Javascript
Ajax提交与传统表单提交的区别说明
Feb 07 Javascript
jQuery Validation Plugin验证插件手动验证
Jan 26 Javascript
浅析JavaScript作用域链、执行上下文与闭包
Feb 01 Javascript
详解Jquery实现ready和bind事件
Apr 14 Javascript
JQuery异步提交表单与文件上传功能示例
Jan 12 Javascript
微信小程序中form 表单提交和取值实例详解
Apr 20 Javascript
详解js动态获取浏览器或页面等容器的宽高
Mar 13 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
php 常用类整理
2009/12/23 PHP
PHP读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
浅析SVN常见问题及解决方法
2013/06/21 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
简单介绍Python中的floor()方法
2015/05/15 Python
python计算一个序列的平均值的方法
2015/07/11 Python
python入门教程之识别验证码
2017/03/04 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
2017/12/20 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
使用python绘制温度变化雷达图
2019/10/18 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
汽车专业毕业生推荐信
2013/11/12 职场文书
开学寄语大全
2014/04/08 职场文书
经济信息系毕业生自荐信
2014/06/02 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
运动会广播稿200字
2015/08/19 职场文书
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL