Node學習筆記(六)—— 文件讀取、寫入、刪除

文件讀取
  1. 導入文件模塊
    // 導入文件模塊,node自帶的模塊
    let fs=require('fs')
    
  2. 同步讀取
    // Node默認是異步
    // 同步讀取文件,會阻塞和等等
    let content =fs.readFileSync('./fs/01.txt',{flag:'r',encoding:'utf-8'})
    console.log(content) // 01txt中的內容是01txt
    
  3. 異步讀取
    fs.readFile('./fs/01.txt',{flag:'r',encoding:'utf-8'},(err,data)=>{
        if(err){
            console.log(err) // 後打印
        }else{
            console.log(data) // 後打印 ‘01txt你好’
        }
    })
    console.log(123) // 先打印
    
    // 封裝讀取文件的函數
    function fsRead(path){
        return new Promise(function(resolve,reject){
            fs.readFile(path,{flag:'r',encoding:'utf-8'},(err,data)=>{
                if(err){
                    reject(err)
                }else{
                    resolve(data)
                }  
            })
        })
    }
    fsRead('./fs/01.txt').then(res=>{
        console.log(res) // 後打印 ‘01txt你好’
    })
    console.log(123) // 先打印
    
文件寫入
  1. 異步寫入

    // 將01.txt文件中的內容替換爲'世界美好',覆蓋原來的內容,如果文件路徑錯誤,會自動生成文件
    fs.writeFile('./fs//01.txt','世界美好',{flag:'w',encoding:'utf-8'},function(err){
        if(err){
            console.log(err)
        }else{
            console.log('寫入成功') 
        }
    })
    
    // 將01.txt文件中的內容追加'--世界美好'
    fs.writeFile('./fs//01.txt','--非常好',{flag:'a',encoding:'utf-8'},function(err){
        if(err){
            console.log(err)
        }else{
            console.log('寫入成功') 
        }
    })
    
    function fsWrite(path, content) {
        return new Promise(function (resolve, reject) {
            fs.writeFile(path, content, {
                flag: 'a',
                encoding: 'utf-8'
            }, function (err) {
                if (err) {
                    reject(err)
                } else {
                    resolve(err)
                }
            })
        })
    }
    fsWrite("./fs/01.txt","-1")  // 先追加
    fsWrite("./fs/01.txt","-2") // 後追加
    
文件刪除
  1. 異步刪除文件
    // 刪除fs文件下02.txt文件
    fs.unlink('./fs/02.txt',function(err,data){
    	if(err){
    		console.log(err)
    	 }else{
    	    console.log(data)
    	 }
    })
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章