下面小編就為大家帶來一篇基於node.js的fs核心模組讀寫檔案操作(實例講解)。小編覺得蠻不錯的,現在就想給大家,也給大家做個參考。一起跟著小編過來看看吧
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核心模組完成檔案的讀寫操作實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!