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
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)
}
})
- fs.writeFileSync
("path", written data)fs.writeFileSync("./1.txt",JSON.stringify({name:1}))
Write files asynchronously
- fs.writeFile
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('拷贝成功') })
- 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
})
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!