全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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核心模块读写文件操作(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# nodejs的fs模块  # Node.js Streams文件读写操作详解  # node.js基于fs模块对系统文件及目录进行读写操作的方法详解  # Node.js实战之Buffer和Stream模块系统深入剖析详解  # Node.js数据流Stream之Duplex流和Transform流用法  # Node.js数据流Stream之Readable流和Writable流用法  # node.js中stream流中可读流和可写流的实现与使用方法实例分析  # node.js使用stream模块实现自定义流示例  # 深入浅出了解Node.js Streams  # Node.js中你不可不精的Stream(流)  # Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法  # Node.js从字符串生成文件流的实现方法  # node.js同步/异步文件读写-fs  # Stream文件流操作实例详解  # 递归  # 不存在  # 给大家  # 也不  # 第一个  # 希望能  # 这篇  # 小编  # 大家多多  # 偏大  # 是用来  # err  # function  # txt  # span  # result  # data  # stringify  # writeFile  # callback 


相关文章: 北京营销型网站制作公司,可以用python做一个营销推广网站吗?  如何有效防御Web建站篡改攻击?  ,购物网站怎么盈利呢?  如何在VPS电脑上快速搭建网站?  如何通过二级域名建站提升品牌影响力?  建站之星免费版是否永久可用?  企业微网站怎么做,公司网站和公众号有什么区别?  如何通过多用户协作模板快速搭建高效企业网站?  制作网站公司那家好,网络公司是做什么的?  高性价比服务器租赁——企业级配置与24小时运维服务  高性能网站服务器部署指南:稳定运行与安全配置优化方案  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  名字制作网站免费,所有小说网站的名字?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  建站主机选购指南与交易推荐:核心配置解析  子杰智能建站系统|零代码开发与AI生成SEO优化指南  制作销售网站教学视频,销售网站有哪些?  建站之星如何配置系统实现高效建站?  建站主机解析:虚拟主机配置与服务器选择指南  如何基于云服务器快速搭建网站及云盘系统?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  如何制作算命网站,怎么注册算命网站?  制作网页的网站有哪些,电脑上怎么做网页?  ,sp开头的版面叫什么?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  常州自助建站工具推荐:低成本搭建与模板选择技巧  如何在IIS7中新建站点?详细步骤解析  如何在景安服务器上快速搭建个人网站?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  制作网站的公司有哪些,做一个公司网站要多少钱?  ,如何利用word制作宣传手册?  北京网站制作的公司有哪些,北京白云观官方网站?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何在阿里云ECS服务器部署织梦CMS网站?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  如何选择高效响应式自助建站源码系统?  动图在线制作网站有哪些,滑动动图图集怎么做?  北京的网站制作公司有哪些,哪个视频网站最好?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  想学网站制作怎么学,建立一个网站要花费多少?  网站制作的步骤包括,正确网址格式怎么写?  小型网站建站如何选择虚拟主机?  家庭服务器如何搭建个人网站?  如何高效搭建专业期货交易平台网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。