目录
读取文件内容
判断文件是否读取成功
使用writeFile写入文件内容
整理数据
路径动态拼接处理问题
path.basename使用
获取路径中扩展名文件
写在最后
首页 web前端 js教程 聊聊怎么用node写入读取文件内容

聊聊怎么用node写入读取文件内容

Dec 22, 2022 pm 08:58 PM
nodejs​ node

node怎么进行读写操作?下面本篇文章给大家介绍一下使用node.js写入读取文件内容的基础方法,希望对大家有所帮助!

聊聊怎么用node写入读取文件内容

Node.js是一个基于Chrome V8引擎的JavaScript运行环境。【相关教程推荐:nodejs视频教程编程教学

4a057ec865dd4494a995478a479f9f60.png

区分版本号

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);// 打印成功的结果
})
登录后复制

2e67e466ac5c4e79aaeb251c83c7e2bf.png

判断文件是否读取成功

const fs = require('fs');

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

成功

314677cb87ea4aa8af3925fd62d25603.png

失败

093414cf200e4a12bbfbda1788bb495d.png

使用writeFile写入文件内容

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('文件写入成功!');
})
登录后复制

a2a21db6b0fd41babe8991dabf60a704.png

整理数据

思维梳理

要求:把一个文件的内容整理起来,放到另一个文件名字和分数用冒号分隔开

1.导入需要的fs文件系统模块

2.使用fs.readFile0方法,读取素材目录下的report-card.txt文件

3.判断文件是否读取失败

4.文件读取成功后,处理成绩数据

5.将处理完成的成绩数据,调用fs.writeFile0 方法,写入到新文件report-card(1).txt中

// 导入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('写入成功!');
    })
})
登录后复制

路径动态拼接处理问题

在使用fs模块操作文件时,如果提供的操作路径是以/或./开头的相对路径时,很容易出现路径动态拼接错误的问题。

原因:代码在运行的时候,会以执行node命令时所处的目录,动态拼接出被操作文件的完整路径。

// __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);
})
登录后复制

path模块是Node.js官方提供的、用来处理路径的模块。它提供了一系列的方法和属性, 用来满足用户对路径的处理需求。

●path.join()方法,用来将多个路径片段拼接成一个完整的路径字符串

●path.basename()方法,用来从路径字符串中,将文件名解析出来

const path = require('path');
// ../会抵消一层路径
const pathStr = path.join('/a', '/v', '../', '/d', 'c');
console.log(pathStr);
登录后复制
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);
})
登录后复制

path.basename使用

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.extname()方法

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

写在最后

我是Aic山鱼,感谢您的支持
原 创 不 易 ✨还希望支持一下
点赞?:您的赞赏是我前进的动力!
收藏⭐:您的支持我是创作的源泉!
评论✍:您的建议是我改进的良药!
山鱼?社区:山鱼社区??

更多node相关知识,请访问:nodejs 教程

以上是聊聊怎么用node写入读取文件内容的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1274
29
C# 教程
1256
24
nvm 怎么删除node nvm 怎么删除node Dec 29, 2022 am 10:07 AM

nvm删除node的方法:1、下载“nvm-setup.zip”并将其安装在C盘;2、配置环境变量,并通过“nvm -v”命令查看版本号;3、使用“nvm install”命令安装node;4、通过“nvm uninstall”命令删除已安装的node即可。

node项目中如何使用express来处理文件的上传 node项目中如何使用express来处理文件的上传 Mar 28, 2023 pm 07:28 PM

怎么处理文件上传?下面本篇文章给大家介绍一下node项目中如何使用express来处理文件的上传,希望对大家有所帮助!

Pi Node教学:什么是Pi节点?如何安装和设定Pi Node? Pi Node教学:什么是Pi节点?如何安装和设定Pi Node? Mar 05, 2025 pm 05:57 PM

PiNetwork节点详解及安装指南本文将详细介绍PiNetwork生态系统中的关键角色——Pi节点,并提供安装和配置的完整步骤。Pi节点在PiNetwork区块链测试网推出后,成为众多先锋积极参与测试的重要环节,为即将到来的主网发布做准备。如果您还不了解PiNetwork,请参考Pi币是什么?上市价格多少?Pi用途、挖矿及安全性分析。什么是PiNetwork?PiNetwork项目始于2019年,拥有其专属加密货币Pi币。该项目旨在创建一个人人可参与

深入浅析Node的进程管理工具“pm2” 深入浅析Node的进程管理工具“pm2” Apr 03, 2023 pm 06:02 PM

本篇文章给大家分享Node的进程管理工具“pm2”,聊聊为什么需要pm2、安装和使用pm2的方法,希望对大家有所帮助!

npm node gyp失败怎么办 npm node gyp失败怎么办 Dec 29, 2022 pm 02:42 PM

npm node gyp失败是因为“node-gyp.js”跟“Node.js”版本不匹配,其解决办法:1、通过“npm cache clean -f”清除node缓存;2、通过“npm install -g n”安装n模块;3、通过“n v12.21.0”命令安装“node v12.21.0”版本即可。

聊聊用pkg将Node.js项目打包为可执行文件的方法 聊聊用pkg将Node.js项目打包为可执行文件的方法 Dec 02, 2022 pm 09:06 PM

​如何用pkg打包nodejs可执行文件?下面本篇文章给大家介绍一下使用pkg将Node项目打包为可执行文件的方法,希望对大家有所帮助!

使用Angular和Node进行基于令牌的身份验证 使用Angular和Node进行基于令牌的身份验证 Sep 01, 2023 pm 02:01 PM

身份验证是任何Web应用程序中最重要的部分之一。本教程讨论基于令牌的身份验证系统以及它们与传统登录系统的区别。在本教程结束时,您将看到一个用Angular和Node.js编写的完整工作演示。传统身份验证系统在继续基于令牌的身份验证系统之前,让我们先看一下传统的身份验证系统。用户在登录表单中提供用户名和密码,然后点击登录。发出请求后,通过查询数据库在后端验证用户。如果请求有效,则使用从数据库中获取的用户信息创建会话,然后在响应头中返回会话信息,以便将会话ID存储在浏览器中。提供用于访问应用程序中受

浅析node怎么实现ocr 浅析node怎么实现ocr Oct 31, 2022 pm 07:09 PM

怎么实现ocr(光学字符识别)?下面本篇文章给大家介绍一下使用node实现实现实现ocr的方法,希望对大家有所帮助!

See all articles