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開發(fā)一個(gè)生成逐幀動(dòng)畫的小工具
這篇文章主要給大家介紹了關(guān)于如何利用node.js開發(fā)一個(gè)生成逐幀動(dòng)畫小工具的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用node.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12node.js中的http.response.addTrailers方法使用說(shuō)明
這篇文章主要介紹了node.js中的http.response.addTrailers方法使用說(shuō)明,本文介紹了http.response.addTrailers的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12詳解用node.js實(shí)現(xiàn)簡(jiǎn)單的反向代理
本篇文章主要介紹了詳解用node.js實(shí)現(xiàn)簡(jiǎn)單的反向代理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06詳解nodejs express下使用redis管理session
本篇文章主要介紹了詳解nodejs express下使用redis管理session ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04