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

目錄
2、寫(xiě)入指定檔案" >2、寫(xiě)入指定檔案
#匯入所需的fs 檔案模組" >app.js 檔案#匯入所需的fs 檔案模組
二、path 路徑模塊" >二、path 路徑模塊
1、path.join() 路徑拼接" >1、path.join() 路徑拼接
2、path.basename() 解析文件名" >2、path.basename() 解析文件名
3、path.extname() 獲取擴(kuò)展名" >3、path.extname() 獲取擴(kuò)展名
首頁(yè) web前端 js教程 一文聊聊Node中的fs檔案模組和path路徑模組(案例分析)

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

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

本篇文章透過(guò)讀寫(xiě)檔案和處理路徑的案例,來(lái)一起學(xué)習(xí)下Node中的fs檔案模組和path路徑模組,希望對(duì)大家有幫助!

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

一、fs 檔案系統(tǒng)模組

fs 模組 是Node. js 官方提供的、用來(lái)操作檔 的模組。它提供了一系列的方法和屬性,用來(lái)滿足使用者對(duì)檔案的操作要求。 【相關(guān)教學(xué)推薦:nodejs影片教學(xué)

#1、讀取指定檔

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

參數(shù)1:必選參數(shù),字串,表示檔案的路徑
參數(shù)2:可選參數(shù),表示以什麼編碼格式來(lái)讀取檔案
參數(shù)3:必選參數(shù),檔案讀取完成後,透過(guò)回呼函數(shù)拿到讀取的結(jié)果

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

##範(fàn)例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路徑模組(案例分析)

備註:若寫(xiě)錯(cuò)路徑,即檔案讀取失敗,列印內(nèi)容如下【err為錯(cuò)誤對(duì)象,data為undefined】

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

#範(fàn)例2:判斷讀取demo.txt 檔案是否成功

# app.js 檔案

    故意寫(xiě)錯(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、寫(xiě)入指定檔案

fs.writeFile():在指定的檔案中寫(xiě)入內(nèi)容

參數(shù)1:必選參數(shù),需要指定一個(gè)檔案路徑的字串,表示檔案的存放路徑

參數(shù)2:必選參數(shù),表示要寫(xiě)入的內(nèi)容
參數(shù)3:可選參數(shù),表示以什麼格式寫(xiě)入檔案內(nèi)容,預(yù)設(shè)utf-8
參數(shù)4:必選參數(shù),檔案寫(xiě)入完成後的回呼函數(shù)

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

範(fàn)例1:寫(xiě)入demo.txt 檔案

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

#demo.txt 檔案

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

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

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

## app.js 檔案

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

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

一文聊聊Node中的fs檔案模組和path路徑模組(案例分析)備註:若寫(xiě)入不存在的磁碟中,即檔案寫(xiě)入失敗,列印內(nèi)容如下

一文聊聊Node中的fs檔案模組和path路徑模組(案例分析)
3、整理成績(jī)案例

一文聊聊Node中的fs檔案模組和path路徑模組(案例分析)範(fàn)例:成績(jī)的格式轉(zhuǎn)換

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

#轉(zhuǎn)換後的成績(jī)格式

  • 檔案格式如下
  • score.txt 檔案

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

寫(xiě)入成績(jī)內(nèi)容

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

雜貨鋪=100 張三=98 李四=95 王五=92

app.js 檔案#匯入所需的fs 檔案模組

使用fs.readFile() 方法,讀取素材目錄下的score.txt 檔案判斷檔案是否讀取失敗

檔案讀取成功後,處理成績(jī)資料

將處理完成的成績(jī)數(shù)據(jù),呼叫fs.writeFile() 方法,寫(xiě)入到新檔案newScore.txt 中一文聊聊Node中的fs檔案模組和path路徑模組(案例分析)

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

// 寫(xiě)入文件內(nèi)容
fs.readFile('../files/score.txt', 'utf-8', function (err, data) {
    // 判斷是否讀取成功
    if (err) {
        return console.log('讀取文件失敗' + err.message)
    }
    // 把成績(jī)按空格進(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')

    // 寫(xiě)入新數(shù)據(jù)
    fs.writeFile('../files/newScore.txt', newStr, function (err) {
        if (err) {
            return console.log('寫(xiě)入成績(jī)失敗' + err.message)
        }
        console.log('成績(jī)寫(xiě)入成功')
    })
})
#################################################################################################################### ####4、處理路徑############__dirname:表示目前檔案所處的目錄#########範(fàn)例:寫(xiě)相對(duì)路徑####### #####
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 官方提供的、用來(lái)處理路徑的模塊

1、path.join() 路徑拼接

path.join():用來(lái)將多個(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():用來(lái)從路徑字符串中,將文件名解析出來(lái)

參數(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;

// 將文件名解析出來(lái)
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問(wèn):nodejs 教程

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

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)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脫衣器

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整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話題

Laravel 教程
1597
29
PHP教程
1488
72
圖文詳解Node V8引擎的記憶體和GC 圖文詳解Node V8引擎的記憶體和GC Mar 29, 2023 pm 06:02 PM

這篇文章帶大家深入了解NodeJS V8引擎的記憶體和垃圾回收器(GC),希望對(duì)大家有幫助!

一文聊聊Node中的記憶體控制 一文聊聊Node中的記憶體控制 Apr 26, 2023 pm 05:37 PM

基於無(wú)阻塞、事件驅(qū)動(dòng)建立的Node服務(wù),具有記憶體消耗低的優(yōu)點(diǎn),非常適合處理海量的網(wǎng)路請(qǐng)求。在海量請(qǐng)求的前提下,就需要考慮「記憶體控制」的相關(guān)問(wèn)題了。 1. V8的垃圾回收機(jī)制與記憶體限制 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é),為即將到來(lái)的主網(wǎng)發(fā)布做準(zhǔn)備。如果您還不了解PiNetwork,請(qǐng)參考Pi幣是什麼?上市價(jià)格多少? Pi用途、挖礦及安全性分析。什麼是PiNetwork? PiNetwork項(xiàng)目始於2019年,擁有其專(zhuān)屬加密貨幣Pi幣。該項(xiàng)目旨在創(chuàng)建一個(gè)人人可參與

node專(zhuān)案中如何使用express來(lái)處理檔案的上傳 node專(zhuān)案中如何使用express來(lái)處理檔案的上傳 Mar 28, 2023 pm 07:28 PM

怎麼處理文件上傳?以下這篇文章為大家介紹一下node專(zhuān)案中如何使用express來(lái)處理文件的上傳,希望對(duì)大家有幫助!

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

事件循環(huán)是 Node.js 的基本組成部分,透過(guò)確保主執(zhí)行緒不被阻塞來(lái)實(shí)現(xiàn)非同步編程,了解事件循環(huán)對(duì)建立高效應(yīng)用程式至關(guān)重要。以下這篇文章就來(lái)帶大家深入了解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ì)大家有幫助!

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

身份驗(yàn)證是任何網(wǎng)路應(yīng)用程式中最重要的部分之一。本教程討論基於令牌的身份驗(yàn)證系統(tǒng)以及它們與傳統(tǒng)登入系統(tǒng)的差異。在本教程結(jié)束時(shí),您將看到一個(gè)用Angular和Node.js編寫(xiě)的完整工作演示。傳統(tǒng)身份驗(yàn)證系統(tǒng)在繼續(xù)基於令牌的身份驗(yàn)證系統(tǒng)之前,讓我們先來(lái)看看傳統(tǒng)的身份驗(yàn)證系統(tǒng)。使用者在登入表單中提供使用者名稱(chēng)和密碼,然後點(diǎn)擊登入。發(fā)出請(qǐng)求後,透過(guò)查詢(xún)資料庫(kù)在後端驗(yàn)證使用者。如果請(qǐng)求有效,則使用從資料庫(kù)中獲取的使用者資訊建立會(huì)話,然後在回應(yīng)頭中傳回會(huì)話訊息,以便將會(huì)話ID儲(chǔ)存在瀏覽器中。提供用於存取應(yīng)用程式中受

深入了解Node中的Buffer 深入了解Node中的Buffer Apr 25, 2023 pm 07:49 PM

一開(kāi)始的時(shí)候 JS 只在瀏覽器端運(yùn)行,對(duì)於 Unicode 編碼的字串容易處理,但對(duì)於二進(jìn)位和非 Unicode 編碼的字串處理困難。並且二進(jìn)制是電腦最底層的資料格式,視訊/音訊/程式/網(wǎng)路包

See all articles