本篇內(nèi)容主要講解“nodejs項目中如何增刪改查文件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“nodejs項目中如何增刪改查文件”吧!
站在用戶的角度思考問題,與客戶深入溝通,找到臨潭網(wǎng)站設計與臨潭網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設計、成都網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務覆蓋臨潭地區(qū)。
這里主要介紹nodejs的文件模塊,通過nodejs的文件模塊,我們可以創(chuàng)建、讀取、修改、刪除我們操作系統(tǒng)上的文件或文件夾,同理在Linux服務器上也是可以運行的。因為nodejs是跨平臺運行的javascript運行環(huán)境。
├── files │ ├── file1 │ └── file2 ├── dir.js ├── index-callback.js ├── index-promise.js └── stream.js
創(chuàng)建index-callback.js
,代碼如下
const fs = require('fs') const path = require('path') // 讀取文件 fs.readFile(path.join(__dirname, 'files', 'file1'), (err, buf) => { if (err) throw err console.log(buf.toString()) }) // 寫入文件 fs.writeFile(path.join(__dirname, 'files', 'file3'), '歡迎光臨', (err) => { if (err) throw err console.log('寫入完成') // 在文件末尾追加 fs.appendFile(path.join(__dirname, 'files', 'file3'), '\n\n男賓三位', (err) => { if (err) throw err console.log('追加完成') // 修改文件名稱 fs.rename(path.join(__dirname, 'files', 'file3'), path.join(__dirname, 'files', 'file3-rename'), (err) => { if (err) throw err console.log('改名完成') }) }) })
總結(jié):
readFile
用來讀取文件的內(nèi)容,在讀取成功后在回調(diào)函數(shù)返回的是buffer格式,所以需要調(diào)用toString()方法
writeFile
寫入內(nèi)容進文件,如果文件不存在會自動創(chuàng)建文件
appendFile
在文件末尾追加內(nèi)容,如果文件不存在會自動創(chuàng)建文件
rename
可以用來修改文件名稱
path.join
用來拼接文件路徑,可以避免不同操作系統(tǒng)路徑格式不同的問題
__dirname
是node.js全局變量,默認是當前項目目錄
創(chuàng)建index-promise.js
,代碼如下
const fsPromises = require('fs').promises const path = require('path') const fileFunc = async () => { try { const data = await fsPromises.readFile(path.join(__dirname, 'files', 'file1')) console.log(data.toString()) await fsPromises.unlink(path.join(__dirname, 'files', 'file1')) await fsPromises.writeFile(path.join(__dirname, 'files', 'file5'), data) await fsPromises.appendFile(path.join(__dirname, 'files', 'file5'), '\n\n歡迎光臨') await fsPromises.rename(path.join(__dirname, 'files', 'file5'), path.join(__dirname, 'files', 'file5-rename')) const newData = await fsPromises.readFile(path.join(__dirname, 'files', 'file5-rename')) console.log(newData.toString()) } catch (error) { console.log(error) } } fileFunc()
總結(jié):
相比回調(diào)式操作,使用async await操作會更加優(yōu)雅,不會出現(xiàn)回調(diào)地獄
unlink
用來刪除文件
創(chuàng)建stream.js
,代碼如下
const fs = require('fs') // 讀取文件流 const rs = fs.createReadStream('./files/file2', { encoding: 'utf8' }) // 寫入文件流 const ws = fs.createWriteStream('./files/new-file2') // 監(jiān)聽讀取并寫入 rs.on('data', (chunk) => { ws.write(chunk) })
在讀取大文件時或者處理網(wǎng)絡文件時,文件流操作很有用,在操作大文件時,我們可以設置每次讀取的數(shù)據(jù)量大小,默認是64kb
const fs = require('fs') // 讀取文件流 const rs = fs.createReadStream('./files/file2', { encoding: 'utf8' }) // 寫入文件流 const ws = fs.createWriteStream('./files/new-file2') rs.pipe(ws)
pipe
方法自動將讀取文件流導入到寫入流,相當于一個便捷操作。
創(chuàng)建dir.js
,代碼如下
const fs = require('fs') // 判斷文件夾是否存在 if (!fs.existsSync('./new')) { // 創(chuàng)建文件夾 fs.mkdir('./new', (err) => { if (err) throw err console.log('文件夾創(chuàng)建成功') }) } if (fs.existsSync('./new')) { // 刪除文件夾 fs.rmdir('./new', (err) => { if (err) throw err console.log('文件夾刪除成功') }) }
總結(jié):
existsSync
是同步方法,用來判斷文件夾是否存在
mkdir
創(chuàng)建文件夾
rmdir
刪除文件夾
這3個操作文件夾的方法非常常用,就像每天吃飯一樣。
到此,相信大家對“nodejs項目中如何增刪改查文件”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
分享文章:nodejs項目中如何增刪改查文件
網(wǎng)頁URL:http://jinyejixie.com/article44/ggcjhe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、建站公司、App設計、品牌網(wǎng)站制作、靜態(tài)網(wǎng)站、品牌網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)