源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-04-03 04:06 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:基于node.js的fs核心模块读写文件操作(实例讲解)
[b]node.js 里fs模块[/b] 常用的功能 实现文件的读写 目录的操作 - 同步和异步共存 ,有异步不用同步 - fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFile方法 - 文件大分流读取,stream - 引入fs模块 - let fs=require('fs') [b]同步读取文件[/b] -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) } }) [b]同步写入文件[/b] - fs.writeFileSync("路径",写入的数据) fs.writeFileSync("./1.txt",JSON.stringify({name:1})) [b]异步写入文件[/b] - fs.writeFile('路径',写入的数据,callback) fs.writeFile('./1.txt','aaaaa',function (err) { if(err){ console.log(err); } }) [b]读写文件写一个拷贝实例[/b]
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('拷贝成功')
})
[b]判断文件存不存在[/b] - 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核心模块读写文件操作(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部