Node.js中的文件系統(tǒng)(file system)模塊詳解
概述
Node.js提供了一個(gè)文件系統(tǒng)模塊(fs
模塊),用于處理文件系統(tǒng)的交互。這個(gè)模塊允許你讀取、寫(xiě)入、修改、刪除文件,以及創(chuàng)建和讀取目錄。文件系統(tǒng)模塊提供了同步和異步的方法,可以根據(jù)需要選擇合適的方法。
基本用法
const fs = require('fs');
文件讀取
異步讀取文件
fs.readFile('example.txt', 'utf8', (err, data) => { if (err) { console.error('讀取文件錯(cuò)誤:', err); return; } console.log('文件內(nèi)容:', data); });
同步讀取文件
try { const data = fs.readFileSync('example.txt', 'utf8'); console.log('文件內(nèi)容:', data); } catch (err) { console.error('讀取文件錯(cuò)誤:', err); }
文件寫(xiě)入
異步寫(xiě)入文件
const content = '寫(xiě)入文件的內(nèi)容'; fs.writeFile('example.txt', content, 'utf8', (err) => { if (err) { console.error('寫(xiě)入文件錯(cuò)誤:', err); return; } console.log('文件寫(xiě)入成功'); });
同步寫(xiě)入文件
const content = '寫(xiě)入文件的內(nèi)容'; try { fs.writeFileSync('example.txt', content, 'utf8'); console.log('文件寫(xiě)入成功'); } catch (err) { console.error('寫(xiě)入文件錯(cuò)誤:', err); }
文件和目錄操作
異步創(chuàng)建目錄
fs.mkdir('new_directory', (err) => { if (err) { console.error('創(chuàng)建目錄錯(cuò)誤:', err); return; } console.log('目錄創(chuàng)建成功'); });
同步創(chuàng)建目錄
try { fs.mkdirSync('new_directory'); console.log('目錄創(chuàng)建成功'); } catch (err) { console.error('創(chuàng)建目錄錯(cuò)誤:', err); }
異步讀取目錄
fs.readdir('new_directory', (err, files) => { if (err) { console.error('讀取目錄錯(cuò)誤:', err); return; } console.log('目錄中的文件:', files); });
同步讀取目錄
try { const files = fs.readdirSync('new_directory'); console.log('目錄中的文件:', files); } catch (err) { console.error('讀取目錄錯(cuò)誤:', err); }
文件和目錄刪除
異步刪除文件
fs.unlink('example.txt', (err) => { if (err) { console.error('刪除文件錯(cuò)誤:', err); return; } console.log('文件刪除成功'); });
同步刪除文件
try { fs.unlinkSync('example.txt'); console.log('文件刪除成功'); } catch (err) { console.error('刪除文件錯(cuò)誤:', err); }
異步刪除目錄
fs.rmdir('new_directory', (err) => { if (err) { console.error('刪除目錄錯(cuò)誤:', err); return; } console.log('目錄刪除成功'); });
同步刪除目錄
try { fs.rmdirSync('new_directory'); console.log('目錄刪除成功'); } catch (err) { console.error('刪除目錄錯(cuò)誤:', err); }
總結(jié)
Node.js文件系統(tǒng)模塊提供了豐富的方法,用于讀取、寫(xiě)入、操作文件和目錄。無(wú)論是異步還是同步的操作,開(kāi)發(fā)者都可以根據(jù)項(xiàng)目的需要選擇適當(dāng)?shù)姆椒āN募到y(tǒng)模塊是Node.js強(qiáng)大而靈活的一部分,為文件操作提供了方便的API。
到此這篇關(guān)于Node.js中的文件系統(tǒng)(file system)模塊的文章就介紹到這了,更多相關(guān)node.js文件系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Express+multer實(shí)現(xiàn)文件上傳功能
Multer是Node.js中的一個(gè)第三方包,或者說(shuō)是第三方中間件,主要用于是實(shí)現(xiàn)文件上傳的功能,本文小編講給大家詳細(xì)介紹一下基于Express+multer來(lái)實(shí)現(xiàn)文件上傳功能,文章通過(guò)代碼示例和圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11Nestjs自定義注解實(shí)現(xiàn)接口權(quán)限控制詳解
這篇文章主要為大家介紹了Nestjs自定義注解實(shí)現(xiàn)接口權(quán)限控制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12基于NodeJS開(kāi)發(fā)釘釘回調(diào)接口實(shí)現(xiàn)AES-CBC加解密
這篇文章主要介紹了基于NodeJS開(kāi)發(fā)釘釘回調(diào)接口 實(shí)現(xiàn)AES-CBC加解密,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Node.JS獲取GET,POST數(shù)據(jù)之queryString模塊使用方法詳解
本文將詳細(xì)介紹nodeJS中的queryString模塊使用方法,包括Node.JS獲取GET,POST數(shù)據(jù)的方法,需要的朋友可以參考下2020-02-02Puppeteer 爬取動(dòng)態(tài)生成的網(wǎng)頁(yè)實(shí)戰(zhàn)
這篇文章主要介紹了Puppeteer 爬取動(dòng)態(tài)生成的網(wǎng)頁(yè)實(shí)戰(zhàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11Node.js對(duì)MongoDB進(jìn)行增刪改查操作的實(shí)例代碼
這篇文章主要介紹了Node.js對(duì)MongoDB進(jìn)行增刪改查操作 ,需要的朋友可以參考下2019-04-04實(shí)時(shí)通信WebSocket的原理和工作過(guò)程
WebSocket持久連接使得服務(wù)器可以主動(dòng)向客戶端推送數(shù)據(jù),而不需要等待客戶端的請(qǐng)求,是一種專門(mén)設(shè)計(jì)用于實(shí)現(xiàn)持久連接的協(xié)議,WebSocket的持久連接特性使其成為實(shí)時(shí)性要求高的應(yīng)用的理想選擇,如在線聊天、實(shí)時(shí)游戲、數(shù)據(jù)監(jiān)控等2023-12-12Nodejs封裝類似express框架的路由實(shí)例詳解
在本篇文章里小編給大家整理的是關(guān)于Nodejs封裝類似express框架的路由實(shí)例內(nèi)容,有需要的朋友們學(xué)習(xí)下。2020-01-01Node.js引入U(xiǎn)IBootstrap的方法示例
這篇文章主要介紹了Node.js引入U(xiǎn)IBootstrap的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05nodejs連接mysql數(shù)據(jù)庫(kù)及基本知識(shí)點(diǎn)詳解
這篇文章主要介紹了nodejs連接mysql數(shù)據(jù)庫(kù),結(jié)合實(shí)例形式總結(jié)分析了nodejs連接與操作mysql數(shù)據(jù)庫(kù)的相關(guān)模板、配置及mysql數(shù)據(jù)庫(kù)查詢、添加數(shù)據(jù)等操作技巧,需要的朋友可以參考下2018-03-03