基于node.js的fs核心模块读写文件操作(实例讲解)


Posted in Javascript onSeptember 10, 2017

node.js 里fs模块

常用的功能

实现文件的读写 目录的操作

- 同步和异步共存 ,有异步不用同步

- fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFile方法

- 文件大分流读取,stream

- 引入fs模块

- let fs=require('fs')

同步读取文件

-fs.readFileSync('路径',utf8);

let result=fs.readFileSync('./1.txt','utf8');

异步读取文件,用参数err捕获错误

- fs.readFile('路径','utf8',function(){})

fs.readFile('./name.txt','utf8',function(err,data){
if(err){
console.log(err)
}else{
console.log(data)
}
})

同步写入文件

- fs.writeFileSync("路径",写入的数据)

fs.writeFileSync("./1.txt",JSON.stringify({name:1}))

异步写入文件

- fs.writeFile('路径',写入的数据,callback)

fs.writeFile('./1.txt','aaaaa',function (err) {
if(err){
console.log(err);
}
})

读写文件写一个拷贝实例

let fs=require("fs");
//同步拷贝
function copySync(source,target){
//同步读取
let result=fs.readFileSync(source,'utf8');
//同步写入
fs.writeFileSync(target,result);
}
copySync("./age.txt",'./1.txt');

//异步拷贝

function copy(sourse,target,callback){
//异步读取
fs.readFile(sourse,'utf8',function(err,data){
if(err){
return callback(err)
}else{
//异步写入
fs.writeFile(target,data,callback)
}
});
};
copy('./name.txt','./ss.txt',function(err){
if(err) return console.log(err);
console.log('拷贝成功')
})

判断文件存不存在

- fs.existsSync('文件的路径')

stat方法

fs.stat('文件路径',function (err,stat) {

stat.isDirectory 看是不是文件夹
stat.isFile 看是不是文件

})

删除文件夹

- fs.rmdir('文件夹路径',function(){})

删除文件

- fs.unlink('文件路径',function(){})

//判断文件存不存在

if(fs.existsSync('./b')){
fs.stat('./b',function (err,stat) {
//stat中的time是用来做服务器缓存
//stat.isDirectory看是不是文件夹 stat.isFile看是不是文件
if(stat.isDirectory()){
//删除文件夹
fs.rmdir('./b',function(){})
}else{
//删除文件
fs.unlink('./b',function(){});
}
})
}

利用递归写一个文件夹依次创建

function md(url) {
  let paths=url.split('/'); //将a/b/c拆分成数组['a','b','c']
  let index=0;
  function make(path){
    if(index===paths.length+1){ // 如果到终点,停止递归
      return false;
    }
    if(!fs.existsSync(path)){ //不存在
      //创建文件夹
      fs.mkdir(path,function () {
        make(paths.slice(0,++index).join('/'))
      })
    }else{ //存在
      make(paths.slice(0,++index).join('/'))
    }
  }
  make(paths[index++]) //先取出第一个
}
md('a/b/c/d');

以上这篇基于node.js的fs核心模块读写文件操作(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
Jun 12 Javascript
jQuery中调用WebService方法小结
Mar 28 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
Oct 11 Javascript
基于JavaScript实现一定时间后去执行一个函数
Dec 14 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
Dec 07 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
Jul 18 Javascript
快速将Vue项目升级到webpack3的方法步骤
Sep 14 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
Aug 30 Javascript
微信小程序动画(Animation)的实现及执行步骤
Oct 28 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
Aug 18 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
Sep 10 #Javascript
基于AngularJS的简单使用详解
Sep 10 #Javascript
JS获取字符对应的ASCII码实例
Sep 10 #Javascript
Angular4学习笔记之根模块与Ng模块
Sep 09 #Javascript
关于vue-router的beforeEach无限循环的问题解决
Sep 09 #Javascript
浅谈Express异步进化史
Sep 09 #Javascript
vue组件学习教程
Sep 09 #Javascript
You might like
用PHP编写PDF文档生成器
2006/10/09 PHP
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
2007/04/16 PHP
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
编写PHP脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
PHP ADODB实现事务处理功能示例
2018/05/25 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
2010/03/17 Javascript
javascript天然的迭代器
2010/10/29 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
inquirer.js一个用户与命令行交互的工具详解
2019/05/18 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
python3 实现的人人影视网站自动签到
2016/06/19 Python
python基础教程项目三之万能的XML
2018/04/02 Python
Python数据处理numpy.median的实例讲解
2018/04/02 Python
Python生成器定义与简单用法实例分析
2018/04/30 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
指导教师评语
2014/04/26 职场文书
小小商店教学反思
2014/04/27 职场文书
产品质量保证书
2014/04/29 职场文书
房地产广告策划方案
2014/05/15 职场文书
党建工作经验交流材料
2014/05/25 职场文书
销售队伍口号
2014/06/11 职场文书
青年文明号汇报材料
2014/12/23 职场文书
python中的被动信息搜集
2021/04/29 Python
方法汇总:Python 安装第三方库常用
2022/04/26 Python
Nginx配置使用详解
2022/07/07 Servers