Home >Web Front-end >JS Tutorial >Detailed explanation of examples of reading and writing files based on the fs core module based on node.js

Detailed explanation of examples of reading and writing files based on the fs core module based on node.js

巴扎黑
巴扎黑Original
2017-09-11 09:47:361590browse

The following editor will bring you an article about the fs core module reading and writing file operations based on node.js (explanation with examples). The editor thinks it’s pretty good, and now I want to give it to you and give it as a reference. Let’s follow the editor to take a look

The fs module in node.js

Commonly used functions

Implement the operation of reading and writing files#- Synchronization and asynchronous coexist, no need to synchronize if there is asynchronous

- fs.readFile cannot read files larger than the running memory , if the file is too large, the readFile method will not be used

- Large file split reading, stream

-Introduce fs module

- let fs =require('fs')

Read files synchronously##-fs.readFileSync

('path', utf8);

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

Read the file asynchronously and use the err parameter to capture errors

- fs.readFile

('path','utf8',function(){})

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

console.log(err)

}else{
console.log(data)
}
})


Write files synchronously

- fs.writeFileSync

("path", written data)

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

Write files asynchronously


- fs.writeFile

('path', written data, callback)

fs.writeFile('./1.txt','aaaaa', function ( err) {if(err){

console.log(err);

}
})


Read and write files and write a copy instance

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

//Asynchronous copy

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


Judge whether the file exists

- fs.existsSync

('File path')

stat method

fs.stat('File path',function ( err,stat) {

stat.isDirectory to see if it is a folder

stat.isFile to see if it is a file


})

Delete Folder

- fs.rmdir('Folder path',function(){})

Delete file

- fs.unlink('File path',function (){})

//Determine whether the file exists

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

Use recursion to write a folder and create it in sequence

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

The above is the detailed content of Detailed explanation of examples of reading and writing files based on the fs core module based on node.js. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn