Node中fs文件系統(tǒng)模塊的使用方法詳解
一、什么是fs文件系統(tǒng)模塊
- fs 模塊是 Node.js 官方提供的、用來(lái)操作文件的模塊(內(nèi)置api)。
- 它提供了一系列的方法和屬性,用來(lái)滿足用戶對(duì)文件的操作需求
例如:
fs.readFile()方法,用來(lái)讀取指定文件中的內(nèi)容fs.writeFile()方法,用來(lái)向指定的文件中寫入內(nèi)容
二、fs模塊的使用
如果要在JavaScript代碼中,使用fs 模塊來(lái)操作文件,則需要使用如下的方式先導(dǎo)入它
const fs = require("fs");
2.1. fs.readFile()的語(yǔ)法格式
使用fs.readFile()方法,可以讀取指定文件中的內(nèi)容,語(yǔ)法格式如下:
fs.readFile(path,[, options],callback)
參數(shù)解讀
- 參數(shù)1: 必選參數(shù),字符串,表示文件的路徑
- 參數(shù)2: 可選參數(shù),表示以什么編碼格式來(lái)讀取文件。
- 參數(shù)3: 必選參數(shù),文件讀取完成后,通過(guò)回調(diào)函數(shù)拿到讀取的結(jié)果(如果沒(méi)有參數(shù)2,那么參數(shù)3可以直接寫到參數(shù)2 的位置)

// 導(dǎo)入文件系統(tǒng)模塊
const fs = require("fs");
fs.readFile("./成績(jī).txt", "utf8", function (err, dataStr) {
if (err) return console.log(err.message); //讀取失敗
console.log(dataStr); //讀取成功
});

2.2、fs.writeFile()的語(yǔ)法格式
使用fs.writeFile()方法,可以向指定的文件中寫入內(nèi)容,語(yǔ)法格式如下:
fs.writeFile(path,data,[, options], callback)
注意
fs.writeFile兩大特點(diǎn)
- 如果寫入的文件目錄存在,但文件名不存在,會(huì)幫你創(chuàng)建一個(gè)文件并寫入
- 如果一份文件同時(shí)寫入兩次,文件內(nèi)容不追加,直接替換
參數(shù)解讀
- 參數(shù)1:必選參數(shù),需要指定一個(gè)文件路徑的字符串,表示文件的存放路徑
- 參數(shù)2:必選參數(shù),表示要寫入的內(nèi)容
- 參數(shù)3:可選參數(shù),表示以什么格式寫入文件內(nèi)容,默認(rèn)值是utf8
參數(shù)4: 必選參數(shù),文件寫入完成后,通過(guò)回調(diào)函數(shù)拿到寫入的結(jié)果(如果沒(méi)有參數(shù)3,那么參數(shù)4可以直接寫到參數(shù)3的位置)

// 導(dǎo)入文件系統(tǒng)模塊
const fs = require("fs");
fs.writeFile("./hello.txt", "hello Nodejs", function (err) {
if (err) return console.log(err.message); //寫入失敗
console.log("寫入成功"); //寫入成功
});


三、練習(xí):考試成績(jī)整理
核心實(shí)現(xiàn)步驟
- 導(dǎo)入需要的
fs文件系統(tǒng)模塊 - 使用
fs.readFile()方法,讀取素材目錄下的成績(jī).txt文件 - 判斷文件是否讀取失敗
- 文件讀取成功后,處理成績(jī)數(shù)據(jù)
- 將處理完成的成績(jī)數(shù)據(jù),調(diào)用
fs.writeFile()方法,寫入到新成績(jī).txt中
- 效果如下



index.js實(shí)現(xiàn)代碼
// 導(dǎo)入文件操作模塊
const fs = require("fs");
// 讀取
fs.readFile("./成績(jī).txt", "utf8", (error, dataStr) => {
if (error) return console.log("文件讀取失敗", error.message);
const oldArray = dataStr.split(" "); //[小紅=80,小蘭=60]
let newArray = oldArray.map((item) => item.replace("=", ":")); //[小紅:80,小蘭:60]
let newStr = newArray.join("\r\n");
fs.writeFile("./新成績(jī).txt", newStr, "utf8", (error) => {
if (error) return console.log("文件寫入失敗", error);
console.log("文件寫入成功?。?);
});
});
四、Nodejs中fs文件系統(tǒng)模塊的路徑動(dòng)態(tài)拼接的問(wèn)題
Nodejs中fs文件系統(tǒng)模塊的路徑動(dòng)態(tài)拼接的問(wèn)題和解決方案_node.js_腳本之家 (jb51.net)
到此這篇關(guān)于Node中fs文件系統(tǒng)模塊的使用方法詳解的文章就介紹到這了,更多相關(guān)Node fs文件系統(tǒng)模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node.JS二進(jìn)制操作模塊buffer對(duì)象使用方法詳解
在ES6引入TypedArray之前,JavaScript語(yǔ)言沒(méi)有讀取或操作二進(jìn)制數(shù)據(jù)流的機(jī)制,本文為大家詳細(xì)介紹nodeJS中二進(jìn)制操作模塊buffer對(duì)象使用方法詳解2020-02-02
Nodejs學(xué)習(xí)筆記之測(cè)試驅(qū)動(dòng)
本文是本系列文章的第二篇,主要是測(cè)試針對(duì)于web后端的驅(qū)動(dòng),在開發(fā)過(guò)程中,在開發(fā)完成一段代碼后如果負(fù)責(zé)任而不是說(shuō)完全把問(wèn)題交給測(cè)試人員去發(fā)現(xiàn)的話,這個(gè)時(shí)候通常都會(huì)去做一些手動(dòng)的測(cè)試。2015-04-04
Node.js使用http模塊實(shí)現(xiàn)后臺(tái)服務(wù)器流程解析
這篇文章將會(huì)教會(huì)你前端工程師怎么搭建后臺(tái)服務(wù)器,做自己的后端開發(fā),同時(shí),在這篇文章開始你就開始正式進(jìn)入全棧的道路咯!本片文章將細(xì)解http模塊,在開始前我們將復(fù)習(xí)一點(diǎn)計(jì)算機(jī)網(wǎng)絡(luò)的知識(shí)2022-09-09
Nodejs進(jìn)階:核心模塊net入門學(xué)習(xí)與實(shí)例講解
本篇文章主要是介紹了Nodejs之NET模塊,net模塊是同樣是nodejs的核心模塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-11-11
詳解node-ccap模塊生成captcha驗(yàn)證碼
本篇文章主要介紹了node-ccap模塊生成captcha驗(yàn)證碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
如何在 Node.js 中使用 axios 配置代理并實(shí)現(xiàn)圖片并發(fā)下載
這篇文章主要介紹了如何在Node.js中使用axios配置代理并實(shí)現(xiàn)圖片并發(fā)下載,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07

