溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

node.js中fs核心模塊讀寫文件操作的示例分析

發(fā)布時間:2021-08-19 10:35:59 來源:億速云 閱讀:203 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)node.js中fs核心模塊讀寫文件操作的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

node.js 里fs模塊

常用的功能

實現(xiàn)文件的讀寫 目錄的操作

- 同步和異步共存 ,有異步不用同步

- fs.readFile 都不能讀取比運行內(nèi)存大的文件,如果文件偏大也不會使用readFile方法

- 文件大分流讀取,stream

- 引入fs模塊

- let fs=require('fs')

同步讀取文件

-fs.readFileSync('路徑',utf8);

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

異步讀取文件,用參數(shù)err捕獲錯誤

- fs.readFile('路徑','utf8',function(){})

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

同步寫入文件

- fs.writeFileSync("路徑",寫入的數(shù)據(jù))

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

異步寫入文件

- fs.writeFile('路徑',寫入的數(shù)據(jù),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是用來做服務(wù)器緩存
//stat.isDirectory看是不是文件夾 stat.isFile看是不是文件
if(stat.isDirectory()){
//刪除文件夾
fs.rmdir('./b',function(){})
}else{
//刪除文件
fs.unlink('./b',function(){});
}
})
}

利用遞歸寫一個文件夾依次創(chuàng)建

function md(url) {
  let paths=url.split('/'); //將a/b/c拆分成數(shù)組['a','b','c']
  let index=0;
  function make(path){
    if(index===paths.length+1){ // 如果到終點,停止遞歸
      return false;
    }
    if(!fs.existsSync(path)){ //不存在
      //創(chuàng)建文件夾
      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');

關(guān)于“node.js中fs核心模塊讀寫文件操作的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI