首页 > 开发 > JS > 正文

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

2024-05-06 16:39:37
字体:
来源:转载
供稿:网友

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


注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表