亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
2、寫入指定文件" >2、寫入指定文件
3、整理成績案例" >3、整理成績案例
4、處理路徑" >4、處理路徑
二、path 路徑模塊" >二、path 路徑模塊
1、path.join() 路徑拼接" >1、path.join() 路徑拼接
2、path.basename() 解析文件名" >2、path.basename() 解析文件名
3、path.extname() 獲取擴(kuò)展名" >3、path.extname() 獲取擴(kuò)展名
首頁 web前端 js教程 一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

Nov 18, 2022 pm 08:36 PM
nodejs? node.js node

本篇文章通過讀寫文件和處理路徑的案例,來一起學(xué)習(xí)下Node中的fs文件模塊和path路徑模塊,希望對(duì)大家有所幫助!

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

一、fs 文件系統(tǒng)模塊

fs 模塊 是 Node.js 官方提供的、用來 操作文件 的模塊。它提供了一系列的方法和屬性,用來滿足用戶對(duì)文件的操作要求。【相關(guān)教程推薦:nodejs視頻教程

1、讀取指定文件

fs.readFile():讀取指定文件中的內(nèi)容

參數(shù) 1:必選參數(shù),字符串,表示文件的路徑
參數(shù) 2:可選參數(shù),表示以什么編碼格式來讀取文件
參數(shù) 3:必選參數(shù),文件讀取完成后,通過回調(diào)函數(shù)拿到讀取的結(jié)果

fs.readFile(path,?[options],?callback)

示例1:讀取 demo.txt 文件

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

demo.txt 文件

'前端雜貨鋪'

app.js 文件

// 導(dǎo)入 fs 文件系統(tǒng)模塊
const fs = require('fs')

// 讀取文件 utf-8 為中文編碼格式
fs.readFile('../files/demo.txt', 'utf-8', function (err, data) {
    console.log('err:', err)
    console.log('data:', data)
})

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

備注:若寫錯(cuò)路徑,即文件讀取失敗,打印內(nèi)容如下【err為錯(cuò)誤對(duì)象,data為undefined】

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

示例2:判斷讀取 demo.txt 文件是否成功

app.js 文件

  • 故意寫錯(cuò)路徑,讀取失敗
  • 失敗的結(jié)果如下
// 導(dǎo)入 fs 模塊
const fs = require('fs')

// 讀取文件
fs.readFile('../files/demo1.txt', 'utf-8', function (err, data) {
    if(err) {
        return console.log('讀取文件失敗', err.message)
    }
    console.log('data:', data)
})

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

2、寫入指定文件

fs.writeFile():向指定的文件中寫入內(nèi)容

參數(shù) 1:必選參數(shù),需要指定一個(gè)文件路徑的字符串,表示文件的存放路徑
參數(shù) 2:必選參數(shù),表示要寫入的內(nèi)容
參數(shù) 3:可選參數(shù),表示以什么格式寫入文件內(nèi)容,默認(rèn) utf-8
參數(shù) 4:必選參數(shù),文件寫入完成后的回調(diào)函數(shù)

fs.writeFile(file, data, [options], callback)

示例1:寫入 demo.txt 文件

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

demo.txt 文件

// 該文件內(nèi)容為空

app.js 文件

// 導(dǎo)入 fs 文件系統(tǒng)模塊
const fs = require('fs')

// 寫入文件內(nèi)容
fs.writeFile('../files/demo.txt', '這里是前端雜貨鋪', function(err, data) {
    if (err) {
        return console.log('寫入文件失敗', err.message)
    }
    console.log('文件寫入成功')
})

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

備注:若寫入不存在的盤中,即文件寫入失敗,打印內(nèi)容如下

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

3、整理成績案例

示例:成績的格式轉(zhuǎn)換

轉(zhuǎn)換前的成績格式

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

轉(zhuǎn)換后的成績格式

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)
文件格式如下

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

score.txt 文件

  • 寫入成績內(nèi)容
雜貨鋪=100 張三=98 李四=95 王五=92

app.js 文件

  • 導(dǎo)入需要的 fs 文件模塊
  • 使用 fs.readFile() 方法,讀取素材目錄下的 score.txt 文件
  • 判斷文件是否讀取失敗
  • 文件讀取成功后,處理成績數(shù)據(jù)
  • 將處理完成的成績數(shù)據(jù),調(diào)用 fs.writeFile() 方法,寫入到新文件 newScore.txt 中
// 導(dǎo)入 fs 文件系統(tǒng)模塊
const fs = require('fs')

// 寫入文件內(nèi)容
fs.readFile('../files/score.txt', 'utf-8', function (err, data) {
    // 判斷是否讀取成功
    if (err) {
        return console.log('讀取文件失敗' + err.message)
    }
    // 把成績按空格進(jìn)行分割
    const arrOld = data.split(' ')
    // 新數(shù)組的存放
    const arrNew = []
    // 循環(huán)分割后的數(shù)組 對(duì)每一項(xiàng)數(shù)據(jù) 進(jìn)行字符串的替換操作
    arrOld.forEach(item => {
        arrNew.push(item.replace('=', ':'))
    })
    // 把新數(shù)組中的每一項(xiàng)合并 得到新的字符串
    const newStr = arrNew.join('\r\n')

    // 寫入新數(shù)據(jù)
    fs.writeFile('../files/newScore.txt', newStr, function (err) {
        if (err) {
            return console.log('寫入成績失敗' + err.message)
        }
        console.log('成績寫入成功')
    })
})

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

4、處理路徑

__dirname:表示當(dāng)前文件所處的目錄

示例:寫相對(duì)路徑

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

const fs = require('fs')

fs.readFile('../files/score.txt', 'utf-8', function(err, data) {
    if (err) {
        return console.log('文件讀取失敗' + err.message)
    }
    console.log('文件讀取成功')
})

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

示例:使用 __dirname

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

const fs = require('fs')

// 讀取文件
fs.readFile(__dirname + '/files/score.txt', 'utf-8', function(err, data) {
    if (err) {
        return console.log('文件讀取失敗' + err.message)
    }
    console.log('文件讀取成功')
})

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

二、path 路徑模塊

path 模塊是 Node.js 官方提供的、用來處理路徑的模塊

1、path.join() 路徑拼接

path.join():用來將多個(gè)路徑判斷拼接成一個(gè)完整的路徑字符串

參數(shù):…paths <string> 路徑片段的序列
返回值:返回值 <string>

path.join([...paths])

示例:路徑拼接

// 導(dǎo)入 path 模塊
const path = require(&#39;path&#39;)
// ../ 會(huì)抵消前面的路徑
const pathStr = path.join(&#39;/a&#39;,&#39;/b/c&#39;, &#39;../&#39;, &#39;./d&#39;, &#39;e&#39;)
console.log(pathStr)

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)
備注:涉及到路徑拼接的操作,都要使用 path.join() 方法進(jìn)行處理。不要直接用 + 進(jìn)行字符串拼接

示例:使用 path 進(jìn)行路徑拼接

const fs = require(&#39;fs&#39;)
const path = require(&#39;path&#39;)

// 文件讀取
fs.readFile(path.join(__dirname, &#39;/files/score.txt&#39;), &#39;utf-8&#39;, function(err, data) {
    if (err) {
        return console.log(&#39;文件讀取失敗&#39;, err.message)
    }
    console.log(&#39;文件讀取成功&#39;)
})

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

2、path.basename() 解析文件名

path.basename():用來從路徑字符串中,將文件名解析出來

參數(shù) 1:path 必選參數(shù),表示一個(gè)路徑的字符串
參數(shù) 2:ext 可選參數(shù),表達(dá)文件擴(kuò)展名
返回值:返回 表示路徑中的最后一部分

path.basename(path, [ext])

示例:解析路徑,去除擴(kuò)展名

// 導(dǎo)入 path 模塊
const path = require(&#39;path&#39;)
// 文件的存放路徑
const fpath = &#39;/a/b/c/index.html&#39;

// 將文件名解析出來
const fullName = path.basename(fpath)
console.log(fullName) // 輸出 index.html

// 去除擴(kuò)展名
const nameWithoutExt = path.basename(fpath, &#39;.html&#39;)

console.log(nameWithoutExt) // 輸出 index

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

3、path.extname() 獲取擴(kuò)展名

path.extname():可以獲取路徑中的擴(kuò)展名部分

參數(shù):path <string> 必選參數(shù),表示一個(gè)路徑的字符串
返回值:返回 <string> 返回得到的擴(kuò)展名字符串

path.extname(path)

示例:獲取擴(kuò)展名

// 導(dǎo)入 path 模塊
const path = require(&#39;path&#39;)
// 文件的存放路徑
const fpath = &#39;/a/b/c/index.html&#39;
// 獲取擴(kuò)展名
const fext = path.extname(fpath)

console.log(fext) // .html

一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)

更多node相關(guān)知識(shí),請(qǐng)?jiān)L問:nodejs 教程!

以上是一文聊聊Node中的fs文件模塊和path路徑模塊(案例分析)的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

圖文詳解Node V8引擎的內(nèi)存和GC 圖文詳解Node V8引擎的內(nèi)存和GC Mar 29, 2023 pm 06:02 PM

本篇文章帶大家深入了解NodeJS V8引擎的內(nèi)存和垃圾回收器(GC),希望對(duì)大家有所幫助!

一文聊聊Node中的內(nèi)存控制 一文聊聊Node中的內(nèi)存控制 Apr 26, 2023 pm 05:37 PM

基于無阻塞、事件驅(qū)動(dòng)建立的Node服務(wù),具有內(nèi)存消耗低的優(yōu)點(diǎn),非常適合處理海量的網(wǎng)絡(luò)請(qǐng)求。在海量請(qǐng)求的前提下,就需要考慮“內(nèi)存控制”的相關(guān)問題了。 1. V8的垃圾回收機(jī)制與內(nèi)存限制 Js由垃圾回收機(jī)

Pi Node教學(xué):什么是Pi節(jié)點(diǎn)?如何安裝和設(shè)定Pi Node? Pi Node教學(xué):什么是Pi節(jié)點(diǎn)?如何安裝和設(shè)定Pi Node? Mar 05, 2025 pm 05:57 PM

PiNetwork節(jié)點(diǎn)詳解及安裝指南本文將詳細(xì)介紹PiNetwork生態(tài)系統(tǒng)中的關(guān)鍵角色——Pi節(jié)點(diǎn),并提供安裝和配置的完整步驟。Pi節(jié)點(diǎn)在PiNetwork區(qū)塊鏈測(cè)試網(wǎng)推出后,成為眾多先鋒積極參與測(cè)試的重要環(huán)節(jié),為即將到來的主網(wǎng)發(fā)布做準(zhǔn)備。如果您還不了解PiNetwork,請(qǐng)參考Pi幣是什么?上市價(jià)格多少?Pi用途、挖礦及安全性分析。什么是PiNetwork?PiNetwork項(xiàng)目始于2019年,擁有其專屬加密貨幣Pi幣。該項(xiàng)目旨在創(chuàng)建一個(gè)人人可參與

node項(xiàng)目中如何使用express來處理文件的上傳 node項(xiàng)目中如何使用express來處理文件的上傳 Mar 28, 2023 pm 07:28 PM

怎么處理文件上傳?下面本篇文章給大家介紹一下node項(xiàng)目中如何使用express來處理文件的上傳,希望對(duì)大家有所幫助!

一起聊聊Node中的事件循環(huán) 一起聊聊Node中的事件循環(huán) Apr 11, 2023 pm 07:08 PM

事件循環(huán)是 Node.js 的基本組成部分,通過確保主線程不被阻塞來實(shí)現(xiàn)異步編程,了解事件循環(huán)對(duì)構(gòu)建高效應(yīng)用程序至關(guān)重要。下面本篇文章就來帶大家深入了解Node中的事件循環(huán) ,希望對(duì)大家有所幫助!

深入淺析Node的進(jìn)程管理工具“pm2” 深入淺析Node的進(jìn)程管理工具“pm2” Apr 03, 2023 pm 06:02 PM

本篇文章給大家分享Node的進(jìn)程管理工具“pm2”,聊聊為什么需要pm2、安裝和使用pm2的方法,希望對(duì)大家有所幫助!

node無法用npm命令怎么辦 node無法用npm命令怎么辦 Feb 08, 2023 am 10:09 AM

node無法用npm命令是因?yàn)闆]有正確配置環(huán)境變量,其解決辦法是:1、打開“系統(tǒng)屬性”;2、找到“環(huán)境變量”->“系統(tǒng)變量”,然后編輯環(huán)境變量;3、找到nodejs所在的文件夾;4、點(diǎn)擊“確定”即可。

使用Angular和Node進(jìn)行基于令牌的身份驗(yàn)證 使用Angular和Node進(jìn)行基于令牌的身份驗(yàn)證 Sep 01, 2023 pm 02:01 PM

身份驗(yàn)證是任何Web應(yīng)用程序中最重要的部分之一。本教程討論基于令牌的身份驗(yàn)證系統(tǒng)以及它們與傳統(tǒng)登錄系統(tǒng)的區(qū)別。在本教程結(jié)束時(shí),您將看到一個(gè)用Angular和Node.js編寫的完整工作演示。傳統(tǒng)身份驗(yàn)證系統(tǒng)在繼續(xù)基于令牌的身份驗(yàn)證系統(tǒng)之前,讓我們先看一下傳統(tǒng)的身份驗(yàn)證系統(tǒng)。用戶在登錄表單中提供用戶名和密碼,然后點(diǎn)擊登錄。發(fā)出請(qǐng)求后,通過查詢數(shù)據(jù)庫在后端驗(yàn)證用戶。如果請(qǐng)求有效,則使用從數(shù)據(jù)庫中獲取的用戶信息創(chuàng)建會(huì)話,然后在響應(yīng)頭中返回會(huì)話信息,以便將會(huì)話ID存儲(chǔ)在瀏覽器中。提供用于訪問應(yīng)用程序中受

See all articles