搜尋
首頁web前端js教程聊聊怎麼用node寫入讀取檔案內容
聊聊怎麼用node寫入讀取檔案內容Dec 22, 2022 pm 08:58 PM
nodejs​node

node怎麼進行讀寫操作?以下這篇文章為大家介紹一下使用node.js寫入讀取檔案內容的基礎方法,希望對大家有幫助!

聊聊怎麼用node寫入讀取檔案內容

Node.js是一個基於Chrome V8引擎的JavaScript運行環境。 【相關教學推薦:nodejs影片教學程式設計教學

聊聊怎麼用node寫入讀取檔案內容

區分版本號

LTS為長期穩定版,推薦安裝LTS版本的Node.js. Current為新特性嚐鮮版,對熱衷於嘗試新特性的同學來說,推薦安裝Current版本的Node.js。

讀取檔案內容

使用readFile讀取檔案內容

讀取失敗是個error物件

成功的話就是undefined

// 1.导入fs模块,操作文件
const fs = require('fs');
// 2.调用readFile() 方法 来读取文件
// 第一个参数是被读取文件的路径
// 第二个参数是编码格式
// 第三个参数是回调函数,拿到读取成功(dataStr)或者是失败的结果 (err)
fs.readFile('./file/01.text', 'utf8', function (err, dataStr) {
    console.log(err);// 打印失败的结果
    console.log("---------------------");
    console.log(dataStr);// 打印成功的结果
})

聊聊怎麼用node寫入讀取檔案內容

判斷檔案是否讀取成功

const fs = require('fs');

fs.readFile('./file/01.txt', 'utf8', function (err, dataStr) {
    if (err) {
        return console.log('读取失败!' + err.message);
    }
    console.log('读取成功!' + dataStr);
})

聊聊怎麼用node寫入讀取檔案內容

const fs = require('fs');
// 三个参数
// 参数1表示文件存放路径
// 参数2表示要写入文件的内容
// 参数3回调函数
fs.writeFile('./file/02.text', 'Aic大山鱼', function (err) {
    // 写入成功后err的值就是null,且在该文件夹下生成一个02文件 
    if (err) {
        return console.log('文件写入失败!' + err.message);
    }
    console.log('文件写入成功!');
})

聊聊怎麼用node寫入讀取檔案內容

#失敗聊聊怎麼用node寫入讀取檔案內容

使用writeFile寫入檔案內容

// 导入fs模块
const fs = require('fs');
// 调用resdFile()方法 读取文件
fs.readFile('./file/report-card.txt', 'utf8', function (err, dataStr) {
    toString(dataStr);
    // 判断是否读取成功
    if (err) {
        return console.log('读取失败!' + err.message);
    }
    // 把获取到的成绩用逗号分隔开保存
    const arrOld = dataStr.split(',');
    // 循环分割后的每一个数组,进行字符串的替换操作
    const arrNew = [];
    // item代表要遍历那个数组里的每一项
    arrOld.forEach(item => {
        // 把=替换成:
        arrNew.push(item.replace('=', ':'))
    });
    // 把新数组的每一项进行合并得到新的字符串
    const newStr = arrNew.join('\n');
    // 使用writeFile()方法,把处理完毕的数据写入到新文件中
    fs.writeFile('./file/report-card(1).txt', newStr, function (err) {
        if (err) {
            return console.log('写入失败!' + err.message);
        }
        console.log('写入成功!');
    })
})

整理資料

思考梳理

要求:把一個檔案的內容整理起來,放到另一個檔案名稱和分數用冒號分隔開

#1.匯入需要的fs檔案系統模組

2.使用fs.readFile0方法,讀取素材目錄下的report-card.txt檔案

3.判斷檔案是否讀取失敗

4.檔案讀取成功後,處理成績數據

5.將處理完成的成績數據,呼叫fs.writeFile0 方法,寫入到新檔案report-card(1 ).txt中

// __dirname 表示当前文件所处的目录
const fs = require('fs');
// 使用方法
fs.readFile(__dirname + '/file/01.txt', 'utf8', function (err, dataStr) {
    if (err) {
        return console.log('读取失败!' + err.messages);
    }
    console.log('读取成功!' + dataStr);
})

路徑動態拼接處理問題

在使用fs模組操作檔時,如果提供的操作路徑是以/或./開頭的相對路徑時,很容易出現路徑動態拼接錯誤的問題。

原因:程式碼在運作的時候,會以執行node指令時所處的目錄,動態拼接出被操作檔的完整路徑。
const path = require('path');
// ../会抵消一层路径
const pathStr = path.join('/a', '/v', '../', '/d', 'c');
console.log(pathStr);

path模組是Node.js官方提供的、用來處理路徑的模組。它提供了一系列的方法和屬性, 用來滿足使用者對路徑的處理需求。

●path.join()方法,用來將多個路徑片段拼接成一個完整的路徑字串

●path.basename()方法,用來從路徑字串中,將檔名解析出來

const path = require('path');
const fs = require('fs');
fs.readFile(path.join(__dirname, +'/file/01.txt'), 'utf8', function (err, dataStr
) {
    if (err) {
        return console.log(err.message);
    }
    console.log(dataStr);
})
const path = require('path');
const fpath = '/a/d/c/index.html'
const fullName = path.basename(fpath);
console.log(fullName);
// 移除后缀名
const nameWithoutExt = path.basename(fpath, '.html');
console.log(nameWithoutExt);
#path.basename使用

const path = require('paht');
const fpath = '/a/s/d/f/index.html'// 路径字符串
const fext = path.extname('fpath');
console.log(fext);// 输出.html

取得路徑中副檔

path.extname()方法


rrreee

#寫在最後

我是
Aic山魚

,感謝您的支持 原始不易✨還希望支持一下 點讚?:您的讚賞是我前進的動力!

收藏⭐:您的支持我是創作的來源! ### 評論✍:您的建議是我改良的良藥! ### 山魚?社群:###山魚社群###??#########更多node相關知識,請造訪:###nodejs 教學###! ###

以上是聊聊怎麼用node寫入讀取檔案內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除
Node.js各版本间有什么区别?如何选择合适的版本?Node.js各版本间有什么区别?如何选择合适的版本?Aug 01, 2022 pm 08:00 PM

Node.js 有 LTS 版本和 Current 版本,这两种版本有什么区别?下面本篇文章带大家快速掌握 Node.js 版本的区别,并聊聊如何选择合适的版本,希望对大家有所帮助!

聊聊使用Node如何实现轻量化进程池和线程池聊聊使用Node如何实现轻量化进程池和线程池Oct 14, 2022 pm 08:05 PM

Node.js 的是一门单线程的语言,它基于 V8 引擎开发,v8 在设计之初是在浏览器端对 JavaScript 语言的解析运行引擎,其最大的特点是单线程,这样的设计避免了一些多线程状态同步问题,使得其更轻量化易上手。

Node.js如何进行版本管理?3款实用版本管理工具分享Node.js如何进行版本管理?3款实用版本管理工具分享Aug 10, 2022 pm 08:20 PM

Node.js如何进行版本管理?下面本篇文章给大家整理分享3 款非常实用的 Node.js 版本管理工具,希望对大家有所帮助!

IDEA中怎么配置安装node.js?方法浅析IDEA中怎么配置安装node.js?方法浅析Dec 21, 2022 pm 08:28 PM

IDEA中怎么运行node?下面本篇文章给大家介绍一下IDEA中配置安装并运行node.js的方法,希望对大家有所帮助!

一文带你了解npm的原理一文带你了解npm的原理Aug 09, 2022 am 09:23 AM

npm 是 JavaScript世界的包管理工具,并且是 Node.js​平台的默认包管理工具。通过 npm可以安装、共享、分发代码,管理项目依赖关系。本篇文章带大家了解一下npm的原理,希望对大家有所帮助!

node爬取数据实例:抓取宝可梦图鉴并生成Excel文件node爬取数据实例:抓取宝可梦图鉴并生成Excel文件Aug 26, 2022 pm 08:31 PM

怎么用Node.js爬取网页的数据并写入Excel文件?下面本篇文章通过一个实例来讲解一下用Node.js爬取网页的数据并生成Excel文件的方法,希望对大家有所帮助!

聊聊怎么使用Node将Excel转为JSON聊聊怎么使用Node将Excel转为JSONNov 28, 2022 pm 08:02 PM

怎么使用Node将Excel转为JSON?下面本篇文章给大家介绍一下Node中转换Excel成JSON的方法,希望对大家有所帮助!

聊聊Node.js path模块中的常用工具函数聊聊Node.js path模块中的常用工具函数Jun 08, 2022 pm 05:37 PM

本篇文章带大家聊聊Node.js中的path模块,介绍一下path的常见使用场景、执行机制,以及常用工具函数,希望对大家有所帮助!

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版

SublimeText3 Mac版

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

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。