NodeJS后端開發(fā)操作文件之讀寫文件
簡介
操作文件是服務(wù)端一個基礎(chǔ)的功能,也是做后端開發(fā)的必備能力之一。操作文件主要包括讀和寫。而這些功能 NodeJS
都已經(jīng)提供了對應(yīng)的方法。只要調(diào)用就行了。
創(chuàng)建文件夾
同步方法:
const fs = require('fs') fs.mkdirSync(`${__dirname}/雷猴`)
NodeJS
有一個文件模塊,叫fs
。對文件操作的話,必須先引入這個模塊。
使用fs.mkdirSync
方法可以創(chuàng)建一個文件夾。里面?zhèn)魅胍獎?chuàng)建的文件夾的名字即可。
__dirname
指的是當前文件所在文件夾的絕對路徑。
異步創(chuàng)建:
const fs = require('fs') fs.mkdir(`${__dirname}/雷猴`, err => { if (err) { console.error(err) } })
使用fs.mkdir
方法可以進行異步創(chuàng)建,第一個參數(shù)也是文件夾名稱,第二個是回到函數(shù),該函數(shù)里有一個err
參數(shù),可以返回錯誤信息。
刪除文件
創(chuàng)建完文件夾,本來是想講 “刪除文件夾” 的。但由于刪除文件夾之前要清空里面所有文件,所以就把 刪除文件 的用法放在前面講。
刪除文件分 同步 和 異步 兩種方法。
同步 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個參數(shù),第一個參數(shù)是文件路徑和文件名,第二個參數(shù)是監(jiān)聽刪除失敗的回調(diào)函數(shù)。
刪除文件夾
刪除文件夾之前要清空目標文件夾里的所有文件。 可以使用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個參數(shù),第二個參數(shù)同樣是監(jiān)聽報錯的回調(diào)。
寫入數(shù)據(jù)
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
方法可以將內(nèi)容寫入文件中。如果文件不存在,會自動創(chuàng)建文件。
fs.writeFile
參數(shù)說明:
- 第一個參數(shù):文件名
- 第二個參數(shù):寫入的內(nèi)容
- 第三個參數(shù):寫入模式(追加、覆蓋等)
- 第四個參數(shù):錯誤信息監(jiān)聽
讀取數(shù)據(jù)
const fs = require('fs') fs.readFile('fileName', (err, data) => { if (err) { console.error(err) return } // data 是二進制類型,需要轉(zhuǎn)換成字符串 console.log(data.toString()) })
使用fs.readFile
方法可以讀取數(shù)據(jù),第一個參數(shù)是文件名;第二個參數(shù)是回調(diào),err
監(jiān)聽錯誤信息,data
是讀取回來的數(shù)據(jù)。
需要注意的是,讀取回來的data
是一個二進制類型的數(shù)據(jù),需要使用toString()
方法轉(zhuǎn)換成我們讀得懂的數(shù)據(jù)。
檢查文件是否存在
const fs = require('fs') const exist = fs.existsSync('fileName') console.log(exist)
使用fs.existsSync
方法可以檢測指定文件是否存在,如果存在就返回true
;否則返回 false
。
總結(jié)
如果你使用NodeJS
做后臺,讀寫文件這塊知識點是逃不過去的。它最常見的功能可以寫日志,比如收集錯誤日志等。
日志我們也可以寫在數(shù)據(jù)庫里,不過不是所有電腦都裝了相同的數(shù)據(jù)庫。但如果你將日志寫在一個文件中,文件的內(nèi)容在別的電腦一般都能輕易打開。
到此這篇關(guān)于NodeJS后端開發(fā)操作文件之讀寫文件的文章就介紹到這了,更多相關(guān)NodeJS 讀寫文件 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node.js支持多用戶web終端實現(xiàn)及安全方案
這篇文章主要介紹了node.js支持多用戶web終端實現(xiàn)方案以及web終端安全性保證的解決方法,一起學(xué)習(xí)參考下。2017-11-11nestjs搭建HTTP與WebSocket服務(wù)詳細過程
這篇文章主要介紹了nestjs搭建HTTP與WebSocket服務(wù)詳細過程的相關(guān)資料,需要的朋友可以參考下2022-11-11使用NODE.JS創(chuàng)建一個WEBSERVER(服務(wù)器)的步驟
在 node.js 中創(chuàng)建一個服務(wù)器非常簡單,只需要使用 node.js 為我們提供的 http 模塊及相關(guān) API 即可創(chuàng)建一個麻雀雖小但五臟俱全的web 服務(wù)器,相比 Java/Python/Ruby 搭建web服務(wù)器的過程簡單的很。本文簡單的講解下實現(xiàn)步驟2021-06-06輕松創(chuàng)建nodejs服務(wù)器(7):阻塞操作的實現(xiàn)
這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(7):阻塞操作的實現(xiàn),本文先是組出了代碼,然后對代碼一一分析,需要的朋友可以參考下2014-12-12node將對象轉(zhuǎn)化為query的實現(xiàn)方法
本文主要介紹了node將對象轉(zhuǎn)化為query的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01node+koa實現(xiàn)數(shù)據(jù)mock接口的方法
本篇文章主要介紹了node+koa實現(xiàn)數(shù)據(jù)mock接口的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09