一文帶你去聊聊Nodejs中讀寫檔的操作
Node中怎麼操作檔案?以下這篇文章帶大家聊聊怎麼使用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.unlinkSync
或 fs.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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

要連接 MySQL 資料庫,需要遵循以下步驟:安裝 mysql2 驅動程式。使用 mysql2.createConnection() 建立連接對象,其中包含主機位址、連接埠、使用者名稱、密碼和資料庫名稱。使用 connection.query() 執行查詢。最後使用 connection.end() 結束連線。

Node.js 中存在以下全域變數:全域物件:global核心模組:process、console、require執行階段環境變數:__dirname、__filename、__line、__column常數:undefined、null、NaN、Infinity、-Infinity

Node.js 安裝目錄中有兩個與 npm 相關的文件:npm 和 npm.cmd,區別如下:擴展名不同:npm 是可執行文件,npm.cmd 是命令視窗快捷方式。 Windows 使用者:npm.cmd 可以在命令提示字元中使用,npm 只能從命令列執行。相容性:npm.cmd 特定於 Windows 系統,npm 跨平台可用。使用建議:Windows 使用者使用 npm.cmd,其他作業系統使用 npm。

PiNetwork節點詳解及安裝指南本文將詳細介紹PiNetwork生態系統中的關鍵角色——Pi節點,並提供安裝和配置的完整步驟。 Pi節點在PiNetwork區塊鏈測試網推出後,成為眾多先鋒積極參與測試的重要環節,為即將到來的主網發布做準備。如果您還不了解PiNetwork,請參考Pi幣是什麼?上市價格多少? Pi用途、挖礦及安全性分析。什麼是PiNetwork? PiNetwork項目始於2019年,擁有其專屬加密貨幣Pi幣。該項目旨在創建一個人人可參與

Node.js 和 Java 的主要差異在於設計和特性:事件驅動與執行緒驅動:Node.js 基於事件驅動,Java 基於執行緒驅動。單執行緒與多執行緒:Node.js 使用單執行緒事件循環,Java 使用多執行緒架構。執行時間環境:Node.js 在 V8 JavaScript 引擎上運行,而 Java 在 JVM 上運行。語法:Node.js 使用 JavaScript 語法,而 Java 使用 Java 語法。用途:Node.js 適用於 I/O 密集型任務,而 Java 適用於大型企業應用程式。

是的,Node.js可用於前端開發,主要優勢包括高效能、豐富的生態系統和跨平台相容性。需要考慮的注意事項有學習曲線、工具支援和社群規模較小。
