首頁  >  文章  >  web前端  >  一文帶你去聊聊Nodejs中讀寫檔的操作

一文帶你去聊聊Nodejs中讀寫檔的操作

青灯夜游
青灯夜游轉載
2022-11-11 18:32:032072瀏覽

Node中怎麼操作檔案?以下這篇文章帶大家聊聊怎麼使用Nodejs讀寫文件,希望對大家有幫助!

一文帶你去聊聊Nodejs中讀寫檔的操作

操作檔是服務端一個基礎的功能,也是做後端開發的必備能力之一。

操作檔主要包括讀取和寫入。而這些功能 Nodejs 都已經提供了對應的方法。只要呼叫就行了。

建立資料夾

#同步方法

const fs = require('fs')
fs.mkdirSync(`${__dirname}/雷猴`)

NodeJS 有一個檔案模組,叫做fs 。對檔案操作的話,必須先引入這個模組。

使用 fs.mkdirSync 方法可以建立一個資料夾。裡面傳入要建立的資料夾的名字即可。

__dirname  指的是目前檔案所在資料夾的絕對路徑。

非同步建立

const fs = require('fs')
fs.mkdir(`${__dirname}/雷猴`, err => {
  if (err) {
      console.error(err)
  }
})

使用fs.mkdir 方法可以進行非同步創建,第一個參數也是資料夾名稱,第二個是回到函數,該函數裡有一個err 參數,可以傳回錯誤訊息。

刪除檔案

建立完資料夾,本來是想講 「刪除資料夾」 的。但由於刪除資料夾之前要清空裡面所有文件,所以就把 刪除文件 的用法放在前面講。

刪除檔案分 同步非同步 兩種方法。

同步 fs.unlinkSync

const fs = require('fs')
fs.unlinkSync(`${__dirname}/test.txt`);

fs.unlinkSync 裡傳入要刪除的檔案路徑和檔案名,即可刪除指定檔案。

非同步fs.unlink

const fs = require('fs')
fs.unlink(`${__dirname}/test.txt`, err => {
  if (err) {
      console.error(err)
  }
})

fs.unlink 方法有2個參數,第一個參數是檔案路徑和檔案名,第二個參數是監聽刪除失敗的回呼函數。

刪除資料夾

刪除資料夾之前要清空目標資料夾裡的所有檔案。 可以使用 fs.unlinkSyncfs.unlink 刪除檔案。

同步

const fs = require('fs')
fs.rmdirSync(`${__dirname}/雷猴`)

異步

const fs = require('fs')
fs.rmdir(`${__dirname}/雷猴`, err => {
  if (err) {
      console.error(err)
  }
})

和刪除檔案的用法差不多,刪除資料夾的方法也有同步和非同步,非同步接受2個參數,第二個參數同樣是監聽報錯的回呼。

寫入資料

const fs = require('fs')
const content = ' 雷猴雷猴\n'
const opt = {
  flag: 'a', // a:追加写入;w:覆盖写入
}

fs.writeFile('test.txt', content, opt, (err) => {
  if (err) {
      console.error(err)
  }
})

fs.writeFile 方法可以將內容寫入檔案。如果文件不存在,會自動建立文件。

fs.writeFile 參數說​​明:

  • 第一個參數:檔案名稱
  • 第二個參數:寫入的內容
  • 第三個參數:寫入模式(追加、覆寫等)
  • 第四個參數:錯誤訊息監聽

讀取資料

const fs = require('fs')
fs.readFile('fileName', (err, data) => {
  if (err) {
      console.error(err)    
      return
  }  
  // data 是二进制类型,需要转换成字符串  
  console.log(data.toString())
})

使用fs.readFile 方法可以讀取數據,第一個參數是檔案名稱;第二個參數是回調,err 監聽錯誤訊息, data 是讀取回來的資料。

要注意的是,讀取回來的 data 是一個二進位類型的數據,需要使用 toString() 方法轉換成我們讀得懂的數據。

檢查檔案是否存在

const fs = require('fs')
const exist = fs.existsSync('fileName')
console.log(exist)

使用fs.existsSync 方法可以偵測指定檔案是否存在,如果存在就傳回true ;否則回傳false

總結

如果你用 NodeJS 做後台,讀寫檔案這塊知識點是逃不過去的。它最常見的功能可以寫日誌,例如收集錯誤日誌等。

日誌我們也可以寫在資料庫裡,但不是所有電腦都裝了相同的資料庫。但如果你將日誌寫在一個檔案中,檔案的內容在別的電腦一般都能輕易打開。

更多node相關知識,請造訪:nodejs 教學

以上是一文帶你去聊聊Nodejs中讀寫檔的操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除