js内置模块之fs,由表及里

node.js 里fs模块

node.js 里fs模块

常用的成效

兑现公文的读写 目录的操作

  • 联机和异步共存 ,有异步不用同步
  • fs.readFile
    都不能够读取比运转内部存款和储蓄器大的公文,假诺文件偏大也不会动用readFile方法
  • 文本大分流读取,stream


引入fs模块

  • let fs=require(‘fs’)

node.js 里fs模块

常用的效率

完毕公文的读写 目录的操作

  • 同台和异步共存 ,有异步不用同步
  • fs.readFile
    都不能读取比运维内存大的文书,借使文件偏大也不会选用readFile方法
  • 文件大分流读取,stream


引入fs模块

  • let fs=require(‘fs’)

fs模块担当读写文件

常用的职能

联手读取文件

-fs.readFileSync(‘路径’,utf8);

let
result=fs.readFileSync(‘./1.txt’,’utf8′);

js内置模块之fs,由表及里。 

 

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

 

  • fs.readFile(‘路径’,’utf8′,function(){})

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

协助举行读取文件

-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(“路线”,写入的数额)

 

js内置模块之fs,由表及里。fs.writeFileSync(“./1.txt”,JSON.stringify({name:1}))

1块写入文件

  • fs.writeFileSync(“路径”,写入的数量)

 

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

一.异步读取fs.readFile(文件名,编码,回调)(传入的回调函数接收多少个参数,当读取成功时,err参数为null,data是读取到的文书。当读取失败的时候,data为undefined,err是贰个荒谬对象)

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

异步写入文件

  • fs.writeFile(‘路线’,写入的数目,callback)

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

读写文件写2个拷贝实例

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.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.readFile
都无法读取比运营内部存款和储蓄器大的文件,假使文件偏大也不会接纳readFile方法

看清文件存不存在

  • 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(){});
}
})
}

看清文件存不存在

  • 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(){});
}
})
}

异步读取1个文件文件例子:

– 文件大分流读取,stream

运用递归写三个文本夹依次创立

 

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');

 

动用递归写四个文本夹依次创造

 

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');

 

‘use strict’;

  • 引入fs模块

var fs = require(‘fs’);

– let fs=require(‘fs’)

fs.readFile(‘测试.txt’, ‘utf-8’, function (err, data) {

一齐读取文件

if (err) {

-fs.readFileSync(‘路径’,utf8);

console.log(err);

let result=fs.readFileSync(‘./1.txt’,’utf8′);

} else {

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

console.log(data);


fs.readFile(‘路径’,’utf8′,function(){})

}

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

});

联合写入文件

若是不扩随笔件编码,回调函数的data会再次回到1个Buffer对象。Buffer对象是叁个包蕴自由个字节的类数组


fs.writeFileSync(“路线”,写入的数码)


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

2.二头读取fs.readFileSync(文件名,编码);

异步写入文件



fs.writeFile(‘路线’,写入的数码,callback)

1块读取文件的事例:

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

‘use strict’;

读写文件写二个正片实例

var fs = require(‘fs’);

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

try {

//异步拷贝

var result = fs.readFileSync(‘测试.txt’, ‘utf-8’);

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('拷贝成功')
})

console.log(result);

看清文件存不设有

} catch (err) {

– fs.existsSync(‘文件的路线’)

console.log(err);

stat方法

}

fs.stat(‘文件路线’,function (err,stat) {


stat.isDirectory 看是还是不是文本夹
stat.isFile 看是否文本

3.写文件:     

})

异步: fs.writeFile(文件名,数据,回调)
同步: fs.writeFileSync(文件名,数据)

皇家赌场手机版,删除文件夹


– fs.rmdir(‘文件夹路线’,function(){})

‘use strict’;

删去文件

var fs = require(‘fs’);

– fs.unlink(‘文件路径’,function(){})

var newData= ‘写入新剧情’;

//剖断文件存不设有

fs.writeFile(‘测试.txt’, newData, function (err) {

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(){});
}
})
}

if (err) {

应用递归写3个文书夹依次创设

console.log(err);

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');

} else {

上述这篇基于node.js的fs主旨模块读写文件操作(实例疏解)正是小编分享给我们的全体内容了,希望能给大家三个参照,也愿意大家多多援救脚本之家。

console.log(‘写入成功!’);

您恐怕感兴趣的稿子:

  • node.js用fs.rename强制重命名或活动文件夹的办法
  • node.js基于fs模块对系统文件及目录实行读写操作的诀要详解
  • node.js中fs.stat与fs.fstat的分别详解
  • 浅谈Node.js:fs文件系统模块
  • node.js中的fs.chmodSync方法应用验证
  • node.js中的fs.chmod方法应用验证
  • node.js中的fs.appendFile方法应用验证
  • node.js中的fs.appendFileSync方法应用验证
  • node.js中的fs.createWriteStream方法应用验证
  • node.js中的fs.futimesSync方法应用验证
  • node.js中fs文件系统目录操作与公事新闻操作

}

});


4.获得文件的新闻

异步:fs.stat()  

同步:fs.statSync()


fs.stat(文件名,function(err,stat){

if(err){

}else{

//console.log(stat.isFile())//是不是是文件

//console.log(stat.size)//文件大小

//console.log(stat.birthtime)//文件创制时间

//console.log(stat.isDirectory())//是或不是是目录

}

})

Leave a Comment.