最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node.js-fs文件系統(tǒng)模塊這是你知道嗎

 更新時間:2022年02月11日 12:14:50   作者:執(zhí)手天涯@  
這篇文章主要為大家詳細介紹了node.js-fs文件系統(tǒng)模塊,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

1、什么是fs文件系統(tǒng)模塊

【解釋】: fs文件系統(tǒng)模塊是Node.js官方提供的,用來操作文件的模塊,它提供了一系列的方法和屬性,用來滿足用戶對文件操作的基本需求。

【基本使用】:

安裝node后直接導入

const fs = require ('fs')

2、讀取指定文件的內(nèi)容

1、fs.readFile()的語法格式

【語法】:

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

【參數(shù)解讀】:

  • 參數(shù)1:必選參數(shù),表示讀取文件的路徑
  • 參數(shù)2:可選參數(shù),表示可選參數(shù),表示通過什么方式的編碼來讀取文件
  • 參數(shù)3:必選參數(shù),回調(diào)函數(shù),通過回調(diào)函數(shù)獲取文件內(nèi)容

2、fs.readFile()讀取文件內(nèi)容

【代碼示例】:

// 1、導入fs模塊
const fs = require('fs');
// 2、使用fs.readfiles()方法讀取指定文件的內(nèi)容
/**
 * 參數(shù)1:讀取文件的存放路徑
 * 參數(shù)2:讀取文件的時候采用的編碼格式
 * 參數(shù)3:回調(diào)函數(shù),參數(shù)1表示讀取失敗的結(jié)果 參數(shù)2 表示讀取成功的結(jié)果
 */
fs.readFile('./files/11.txt', 'utf-8', function (err, dataStr) {
    // 文件信息讀取成功的時候err返回值是null
    console.log(err);
    console.log('------------------');
    console.log(dataStr);
})

3、判斷文件是否讀取成功

【代碼示例】:

// 1、導入fs模塊
const fs = require('fs');
// 2、使用fs.readfiles()方法讀取指定文件的內(nèi)容
/**
 * 參數(shù)1:讀取文件的存放路徑
 * 參數(shù)2:讀取文件的時候采用的編碼格式
 * 參數(shù)3:回調(diào)函數(shù),參數(shù)1表示讀取失敗的結(jié)果 參數(shù)2 表示讀取成功的結(jié)果
 */
fs.readFile('./files/11.txt', 'utf-8', function (err, dataStr) {
    if (err) {
        // 讀取文件失敗,返回錯誤信息
        return console.log('讀取文件失?。?!' + err.message);;
    } else {
        // 讀取文件成功,打印文件信息
        console.log('讀取文件成功:'+dataStr);
    }
}) 

3、向指定文件寫入內(nèi)容

1、fs.writeFile()的語法格式

【語法】:

fs.writeFile(filePath, data, [,option] callback)

【參數(shù)解讀】:

  • 參數(shù)1:必選參數(shù),指定文件字符串路徑,表示文件的存放路徑
  • 參數(shù)2:必選參數(shù),表示要寫入的內(nèi)容
  • 參數(shù)3:可選參數(shù),表示用什么方式寫入內(nèi)容,默認是utf-8
  • 參數(shù)4:必選參數(shù),表示文件寫入之后的回調(diào)函數(shù)。

2、fs.writeFile()寫入文件

【代碼示例】:

// 1、導入fs模塊
const fs = require('fs')
// 2、使用fs.writeFile()方法,向文件中寫入內(nèi)容
/**
 * 參數(shù)1:寫入信息的路徑
 * 參數(shù)2:要寫入的內(nèi)容
 * 參數(shù)3:回調(diào)函數(shù)
 * 參數(shù)4:編碼格式,默認是utf-8,可以省略不寫
 */
fs.writeFile('./files/2.txt', '張三', function (err) {
    // 如果文件寫入成功,err返回null
    // 如果文件寫入失敗,則返回一個錯誤對象
    console.log(err);
})

3、fs.writeFile()判斷寫入是否成功

// 1、導入fs模塊
const fs = require('fs')
// 2、使用fs.writeFile()方法,向文件中寫入內(nèi)容
/**
 * 參數(shù)1:寫入信息的路徑
 * 參數(shù)2:要寫入的內(nèi)容
 * 參數(shù)3:回調(diào)函數(shù)
 * 參數(shù)4:編碼格式,默認是utf-8,可以省略不寫
 */
fs.writeFile('./files/2.txt', '張三', function (err) {
    // 如果文件寫入成功,err返回null
    // 如果文件寫入失敗,則返回一個錯誤對象
    if (err) {
        return console.log('文件寫入失敗' + err.message);
    } else {
        console.log('文件寫入成功!!');
    }

})

4、寫入文件和讀取文件綜合應用

【需求】:

  • 使用 fs 文件系統(tǒng)模塊,將成績.txt文件中的考試數(shù)據(jù),整理到成績-ok.txt文件中。
  • 整理前,成績.txt文件中的數(shù)據(jù)格式如下:
  • 小紅=100…
  • 整理后的格式如下:
  • 小紅:100…

【案例分析】:

  • 導入fs文件模塊
  • 讀取文件中的舊數(shù)據(jù)
  • 判斷是否讀取成功
  • 數(shù)據(jù)格式處理
  • 寫入新的文件中

【代碼實現(xiàn)】:

// 1、導入fs文件系統(tǒng)模塊
const fs = require("fs");
// 2、讀取成績信息
fs.readFile('./files/成績.txt', 'utf-8', function (err, data) {
    // 判斷成績是否讀取成功
    if (err) {
        // 讀取失敗,返回錯誤信息
        return console.log('讀取成績失敗??!' + err.message);
    } else {
        // 讀取成功。返回讀取的數(shù)據(jù)
        // 將成績的數(shù)據(jù)按照空格分隔
        const arrOld = data.split(' ')
        // 對分隔后的數(shù)組,對每一項數(shù)據(jù)進行字符串替換操作
        arrNew = [];
        arrOld.forEach(item => {
            arrNew.push(item.replace('=', ':'))
        })
        // 對新的數(shù)組中的每一項進行合并
        const newStr = arrNew.join('\r\n')
        // 將新的數(shù)據(jù)寫入文件
        fs.writeFile('./files/newScore.txt', newStr, function (err) {
            // 判斷是否寫入成功
            if (err) {
                // 寫入失敗,返回錯誤信息
                return console.log('寫入文件信息失?。?!' + err.message);
            } else {
                // 寫入成功
                console.log('寫入文件成功??!');
            }
        })
    }
})

5、fs模塊-路徑動態(tài)拼接問題

【問題描述】: 在使用 fs 模塊操作文件時,如果提供的操作路徑是以 ./ 或 …/ 開頭的相對路徑時,很容易出現(xiàn)路徑動態(tài)拼接錯誤的問題。

【原因】: 代碼在運行的時候,會以執(zhí)行 node 命令時所處的目錄,動態(tài)拼接出被操作文件的完整路徑。

【解決方案】:

在使用 fs 模塊操作文件時,直接提供完整的路徑,不要提供 ./ 或 …/ 開頭的相對路徑,從而防止路徑動態(tài)拼接的問題。

const fs = require('fs');
// __dirname表示當前文件的目錄
fs.readFile(__dirname + '/files/11.txt', 'utf-8', function (err, data) {
    if (err) {
        return err.message;
    } else {
        console.log(data);
    }
})

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!          

相關文章

  • NVM管理node版本以及報錯解決

    NVM管理node版本以及報錯解決

    在開發(fā)過程中有時候會遇到老項目和新項目node版本不一致的情況,這篇文章主要給大家介紹了關于NVM管理node版本以及報錯解決方法的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • nodejs與瀏覽器中全局對象區(qū)別點總結(jié)

    nodejs與瀏覽器中全局對象區(qū)別點總結(jié)

    在本篇文章里小編給大家整理的是一篇關于nodejs與瀏覽器中全局對象區(qū)別點總結(jié)內(nèi)容,對此有需要的朋友們可以學習下。
    2021-12-12
  • 詳解nodejs express下使用redis管理session

    詳解nodejs express下使用redis管理session

    本篇文章主要介紹了詳解nodejs express下使用redis管理session ,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • npm的lock機制解析

    npm的lock機制解析

    這篇文章主要介紹了npm的lock機制解析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • 如何使用axios庫在Node.js中進行代理請求(實踐案例)

    如何使用axios庫在Node.js中進行代理請求(實踐案例)

    axios是一個強大的基于Promise的HTTP客戶端,它在瀏覽器和Node.js環(huán)境中均可使用,本文將介紹如何充分利用axios庫,在Node.js中進行代理請求的最佳實踐,并通過一個實際案例來展示其應用,感興趣的朋友一起看看吧
    2024-03-03
  • 在Debian(Raspberry Pi)樹莓派上安裝NodeJS的教程詳解

    在Debian(Raspberry Pi)樹莓派上安裝NodeJS的教程詳解

    在樹莓派上運行NodeJS并不需要特別的配置,你只需要確??梢杂胦penssh遠程連接到你的樹莓派就ok了,關于在Debian(Raspberry Pi)樹莓派上安裝NodeJS的方法,大家可以通過本文了解下
    2017-09-09
  • Node.js中代碼重復與不一致的問題及解決方案

    Node.js中代碼重復與不一致的問題及解決方案

    在 Node.js 開發(fā)中,代碼重復和不一致是常見的問題,尤其是在項目規(guī)模擴大和團隊協(xié)作時,這些問題不僅會增加維護成本,還可能導致邏輯錯誤和性能問題,本文將探討這些問題的常見原因,并提供相應的解決方案,需要的朋友可以參考下
    2025-03-03
  • Node.js 實現(xiàn)搶票小工具 & 短信通知提醒功能

    Node.js 實現(xiàn)搶票小工具 & 短信通知提醒功能

    這篇文章主要介紹了Node.js 實現(xiàn)搶票小工具 & 短信通知提醒功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • 20行代碼簡單實現(xiàn)koa洋蔥圈模型示例詳解

    20行代碼簡單實現(xiàn)koa洋蔥圈模型示例詳解

    這篇文章主要為大家介紹了20行代碼簡單實現(xiàn)koa洋蔥圈模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • node.js mongoose index索引操作

    node.js mongoose index索引操作

    在 Mongoose 中,索引(Index)是一種用于提高查詢性能的數(shù)據(jù)結(jié)構(gòu),它可以加速對數(shù)據(jù)庫中文檔的檢索操作,本文給大家介紹
    node.js mongoose index索引操作
    ,感興趣的朋友一起看看吧
    2023-12-12

最新評論

民乐县| 新干县| 大姚县| 衢州市| 宝丰县| 万年县| 崇义县| 海门市| 阿巴嘎旗| 新化县| 老河口市| 枣阳市| 台州市| 巴里| 都兰县| 台南县| 奎屯市| 奉节县| 泰顺县| 丰镇市| 沙坪坝区| 雷波县| 正蓝旗| 大方县| 英山县| 沁源县| 清远市| 遵化市| 竹溪县| 仲巴县| 招远市| 阿瓦提县| 新津县| 高阳县| 万年县| 华宁县| 海门市| 安龙县| 周至县| 鞍山市| 贺州市|