Node.js——fs的模块的读取文件-书写文件

2023-05-16

目录

一.fs模块的介绍与初始化

二.fs.readFile()读取文件

第二种方法:

 失败演示:

 三.小结

四.fs.writeFile()方法向指定文件中写入内容

五.案例——整理用户信息


一.fs模块的介绍与初始化

fs模块是node内置API模块,它是用来操作文件的模块

我们可以只用fs模块中的fs.readFile()方法和fs.wirteFile()方法来对文件进行操作:

fs.readFile():读取指定文件内容

fs.writeFile():向指定文件中写入内容

不过想要在JS代码中使用fs模块操作文件的话我们需要 先导入fs模块:

这才是第一步:

const fs = require('fs');

我们调用require()方法来导入fs模块并给到变量fs

然后我们开始进行读写文件的操作:


二.fs.readFile()读取文件

语法:fs.readFile(path[,options],callback)

path:必填项,填写我们要读取的文件路径

options:可选项,表示以什么样的编码格式来读取文本

callback:必填项,文件读取完成之后,通过此回调函数拿到读取结果

(回调函数需有俩个形参:(err,data)分别表示读取失败和读取成功)

我们首先需要一个JS文件和一个文档:

 接下来我们编辑JavaScript代码:

 当我们在终端(我们也可以在当前文件夹中打开cmd终端来运行,和VSCode效果一样)中执行index.js文件时,我们发现输出了:读取失败null字样

真的是我们读取失败了吗?并不是,因为我给到判断式的值就是err,err是错误的表示,那么它输出err为null,那么就是没有错的意思

那既然这样,不妨将将err的值作为判断的依据,如果err为null(成功),那么我们输出data成功获取到的值,否则的话输出读取失败以及失败原因

 //导入fs模块
 const fs = require('fs');
 //调用readFile方法,给到文件路径以及成功和失败的值
 fs.readFile('./测试.txt',function(err,data){
     //判断读取是否成功,输出想对应的值
     err == null ? console.log(data.toString()) : console.log("读取失败" + err) ;
 })

第二种方法:

const fs = require('fs');
fs.readFile('./测试.txt','utf8',function(err,data){
    if(err){
        console.log("读取失败" + err.message);
    }else{
        console.log("读取成功" + data);
    }
});

 失败演示:

我们改变文件名,这时读取不到文件,err参数就会返回错误对象,告知我们该路径下没有相对应文件 


 三.小结

总之,除了readFile()方法的使用,我们还知道:

如果读取成功,err值为null

如果读取失败,err值为错误对象(失败的话data值为undefined)

所以我们可以根据err值是否为null来判断文件是否读取成功

四.fs.writeFile()方法向指定文件中写入内容

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

file:必填项,需要填写文件存放路径

data:必填项,填写我们要写入的内容

options:可选项,表示以什么样的编码格式来上传文本(默认为utf8)

callback:必填项,文件上传完成之后,通过此回调函数拿到上传结果

(回调函数需有一个形参:(err)表示失败)上传成功err值为null,上传失败err值为一个错误对象

const fs = require('fs');
 fs.writeFile('./测试.txt','这是我新加进去的数据',function(err){
     if(err){
        console.log("读取失败" + err);
     }else{
        console.log("上传成功");
     }
 })

或者:

const fs = require('fs');
 fs.writeFile('./测试.txt','这是我新加进去的数据',function(err){
     if(err == null){
        console.log("上传成功");
     }else{
        console.log("读取失败" + err);
     }
 })

 这样我们就实现了内容的上传


五.案例——整理用户信息

 首先,我们需要一份初始文件

我们将会读取这个文件,并且改变其中的某些字符串,然后将新整理好的数据写入到新文件中:

//fs模块
const fs = require('fs')
//读取文件
fs.readFile('./原始文件.txt','utf8',function(err,data){
    if(err){
        console.log("获取失败,可能是因为文件格式错误,请检查并重新获取文档" + err.message)
    }else{
        //空格分隔开的为一个用户的信息
        const users = data.split(' ')
        //遍历数组,替换字符
        const usernew = []
        for(let k of users){
            usernew.push(k.replace(/=/g,':'))
        }
        const Str = usernew.join('\r\n')
        console.log(Str)

         //写入文件
        fs.writeFile('./数据整理.txt',Str,function(err){
            if(err){
                console.log("提交失败,可能是因为系统故障,请检查")
            }else{
                console.log("提交成功")
            }
        })
    }
})

我们在node中执行JS文件:

 显示提交成功,我们打开整理好的文件看一下有没有导入进去:

成功导入 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js——fs的模块的读取文件-书写文件 的相关文章

  • nodejs笔记之:事件驱动,线程池,非阻塞,异常处理等

    nodejs笔记之 事件驱动 线程池 非阻塞 异常处理等 2016年05月01日 14 44 42 Johnny丶me 阅读数 4112更多 分类专栏 NodeJs Nodejs 硬实战 全栈工程师笔记 版权声明 本文为博主原创文章 遵循
  • Express全系列教程之(五):Express的中间件

    一 中间件 从字面意思 我们可以了解到它大概就是做中间代理操作 事实也是如此 大多数情况下 中间件就是在做接收到请求和发送响应中间的一系列操作 事实上 express是一个路由和中间件的web框架 Express 应用程序基本上是一系列中间
  • 智慧PG集成开发平台pgting-cli发布了

    介绍 两周前我们发布了智能页面搭建平台 智慧PG pgting 深受用户青睐 很多用户尝试了在线开发组件 为了方便用户定制开发组件和组件共享 智慧PG设计之初就考虑了组件定制开发问题 为此 我们设计和研发了智慧PG集成工作台pgting c
  • nuxt.js局部引用quill富文本编辑器

    想在nuxt js中使用quill富文本编辑器 按照网上常见的方法 将css js 添加到 nuxt config js 这是全局调用了quill的css js 文件 在每个页面的源码中 都可以看到quill 的css js 这是没有必要的
  • node koa发送邮箱验证码

    1 注册一个邮箱 开启POP3 SMTP IMAP 下方代码内的auth pass 下图授权码 2 nodejs koa发送邮箱验证码 const nodemailer require nodemailer const userEmail
  • 解决:Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Users\辰之星\AppData\Roaming\npm\node_modules\n

    解决 Error ERR REQUIRE ESM require of ES Module C Users 辰之星 AppData Roaming npm node modules nrm node modules open index j
  • 如何在 Fedora 37/36/35 上安装 Gulp.js

    Gulp是一个工具包 可帮助开发人员在开发过程中实现痛苦工作流程的自动化 本教程将帮助您在 Fedora 操作系统上安装 Gulp js 第 1 步 安装 Node js 首先 你需要安装node js在您的系统上 使用以下命令集在 Fed
  • ERR_PNPM_PEER_DEP_ISSUES Unmet peer dependencies

    ERR PNPM PEER DEP ISSUES 错误 两种解决方式 解决方式 方式一 忽略错误 项目根目录下 npmrc 中添加 strict peer dependencies false 方式二 自动安装对等依赖 项目根目录下 npm
  • node.js和npm的关系

    一 npm是什么 当一个网站依赖的js代码越来越多 程序员发现这是一件很麻烦的事情 去 jQuery 官网下载 jQuery 去 BootStrap 官网下载 BootStrap 去 Underscore 官网下载 Underscore 有
  • Node.js 下载安装环境配置 - 图文版

    Node js 是一个开源 跨平台的 JavaScript 运行时环境 一 介绍 1 官方文档 1 中文文档 Node js 中文网 2 英文文档 Node js 二 下载 1 中文 2 英文 编辑三 安装 1 新建一个文件夹作为安装路径
  • Windows NodeJS 二进制文件安装

    第一步下载node下载 Node js 中文网 本人系统Win10 X64 如图 将下载的zip包解压到你自定义的目录 尽量不要有空格或中文 你懂的 作者选择了d盘下自定义目录D datastorage下 解压后的文件目录如图所示 在此目录
  • npm 实现原理

    输入 npm install 命令并敲下回车后 会经历如下几个阶段 以 npm 5 5 1 为例 1 执行工程自身 preinstall 当前 npm 工程如果定义了 preinstall 钩子此时会被执行 2 确定首层依赖模块 首先需要做
  • 前端页面生成PDF方案之puppetter

    1 新建一个文件夹 例如 test 2 新建一个js文件 例如test js 3 进入test文件夹 在该目录下运行命令行 并执行下面命令 npm init 4 运行命令安装 npm i puppetter 5 编辑test js cons
  • Angular --官方文档使用 Angular CLI创建项目

    1 在node环境下 标配 node v npm v 指令在命令窗口查看两个的版本号 node高于6 9 3 npm版本高于3 0 0 如果你是新安装的话 就不要考虑这个问题了 2 全局安装 Angular CLI npm install
  • Nginx常用命令以及升级(window)

    nginx Windows作为标准控制台应用程序 不是服务 运行 可以使用以下命令对其进行管理 start nginx 启动Nginx nginx s stop fast shutdown 快速停止 nginx s quit gracefu
  • js __proto__、prototype 、constructor 三者关系总结

    一 proto 属性 proto 怎么读 杠杠 proto 杠杠 proto 读作 dunder proto double underscore proto 的缩写 并且它前后两边 分别是 两个 下划线 由 proto 属性来连接对象 直到
  • jsoup的Elements类

    随时随地阅读更多技术实战干货 获取项目源码 学习资料 请关注源代码社区公众号 ydmsq666 一 简介 该类是位于select包下 直接继承自Object 所有实现的接口有Cloneable Iterable
  • MongoDB的安装与基本使用

    首先 得从MongoDB官网下载到对应操作系统的数据库安装包 MongoDB官网 https www mongodb com MongoDB下载地址 https www mongodb com download center communi
  • 【node】12、Koa实现简单爬虫案例

    效果图如下 首先我们新建文件夹 进入终端 初始化node项目 npm init y 安装koa搭建服务模块 npm install koa 安装superagent发送请求模块 npm install superagent 安装cheeri
  • 精品Nodejs实现的“音乐盒”小程序的设计与实现-音乐播放器歌曲

    含文档 PPT 源码等 精品Nodejs实现的 音乐盒 小程序的设计与实现 包运行成功 该项目含有源码 文档 PPT 配套开发软件 软件安装教程 项目发布教程 包运行成功 软件开发环境及开发工具 操作系统 Windows 10 Window

随机推荐

  • BadTokenException: Unable to add window -- token android.os.BinderProxy

    由于遇到的是BadTokenException这个异常 xff0c 所以搜资料总结了一下 xff1a 这个异常总共有一下几种出现方式 xff1a 1 Unable to add window token null is not valid
  • SpringBoot框架整合SpringMVC、Mybatis框架,对数据库操作的工作原理

    Controller层 Controller层是接收用户访问的url信息 xff0c 再将获取到的内容发送到其他层级进行处理 xff0c 处理完成后返回新的url xff0c 使用户得到想要查询或是其他操作的页面 64 Controller
  • Lombok插件应用

    Lombok安装步骤 https blog csdn net weixin 47253919 article details 119871501 spm 61 1001 2014 3001 5502 常用注解 64 Setter 用于为描述
  • 类的属性(公有属性,受保护属性,私有属性)

    x是类的公有属性 class Animal x 61 10 def test self print Animal x print self x self是类本身 xff0c 等于Animal class Dog Animal def tes
  • linux网络配置(超简单,一看就会)

    2022 11 19 文章目录 前言一 linux网络 xff1f 二 使用步骤 1 查看本机ip 2 进入root用户 3 进入配置网络的目录 4 配置网络 5 重启网络服务 6 查看IP并测试网络 总结 一 linux网络 本章以配置虚
  • 【FPGA】四、按键消抖

    文章目录 一 按键消抖简介 二 按键消抖方式 1 硬件消抖 2 软件消抖 三 程序设计 1 设计思路 2 程序代码 3 仿真验证 总结 一 按键消抖简介 按键在我们日常生活中是很常见的 xff0c 主要有机械按键和虚拟按键 在我们用来进行F
  • 运行npm install出现这种问题怎么解决

    npm ERR code 1 npm ERR path C end springbootdtjr3 master src main resources admin admin node modules node sass npm ERR c
  • java中求平方根

    案例2 求平方根 需求 输入一个大于等于2的整数x xff0c 计算并返回x的平方根 结果只保留整数部分 xff0c 小数部分将被舍去 分析 计算x的平方根 就是x进行开方 开平方的调用函数是Math sqrt 但是要注意的是指保留整数部分
  • 解决Maven配置本地仓库路径不生效问题多个方法详解。(已成功解决自己遇到的问题)

    首先我尝试了很多种方法 xff0c 就是这个方法让我成功 xff0c 和大家分享一下 xff01 xff08 我用方法二成功的 xff01 xff09 maven本地仓库默认值 xff1a 用户家目录 m2 repository 由于本地仓
  • JAVA编写程序,打印九九乘法表(涵盖三种表达形式)

    运用java写出九九乘法表可以概括为三种表达形式 一是长方型 二是正三角型 三是倒三角型 无论是那种 xff0c 用的都是for循环 思路 xff1a 用两个for循环嵌套循环出因子a乘因子b等于乘积 xff0c 外循环代表因子a xff0
  • 【路径规划】蚁群算法机器人栅格地图最短路径规划【含Matlab源码 1618期】

    一 蚁群算法及栅格地图简介 1 蚁群算法 1 1 蚁群算法的提出 蚁群算法 ant colony optimization ACO 又称蚂蚁算法 是一种用来寻找优化路径的机率型算法 它由Marco Dorigo于1992年在他的博士论文中提
  • 遇见Java

    Java是一门面向对象的编程语言 xff0c 不仅吸收了C 43 43 语言的各种优点 xff0c 还摒弃了C 43 43 里难以理解的多继承 指针等概念 xff0c 因此Java语言具有功能强大和简单易用两个特征 Java语言作为静态面向
  • CSS基础-17-拓展-标签居中

    拓展 标签水平居中方法总结 margin 0 auto 如果需要让div p h 大盒子 水平居中 可以通过margin 0 auto 实现 注意点 1 如果需要让 div p h 大盒子 水平居中 xff0c 直接给当前元素本身设置即可
  • 用HTML和css写一个简单地购物小票

    效果图 HTML代码 lt DOCTYPE html gt lt html gt lt head gt lt meta charset 61 34 utf 8 34 gt lt title gt 小票 lt title gt lt link
  • AJAX详解

    1 AJAX是什么 xff1f AJAX即 Asynchronous JavaScript and XML xff08 异步的JavaScript与XML技术 xff09 xff0c 指的是一套综合了多项技术的浏览器端网页开发技术 2 异步
  • 计算机一级必考的10个Excel函数,让我来告诉你

    计算机一级必考的10个Excel函数 xff0c 让我来告诉你 有同学问 xff1a 计算机一级Excel要考哪些函数啊 xff1f xff0c 下图的10个函数就是一级必考的 001 sum求和函数 定义 xff1a 对指定参数进行求和
  • 【一则文章带你了解JavaScript】

    前言 xff1a 想要入门JS xff0c 那我们必须首先了解一下JS的作用 xff0c 我们学习后可以做些什么呢 xff1f 一 首先 xff0c 网页中的表单动态校验以及密码强度的检测是会用到JS的 二 其次 xff0c 我们的网页高级
  • jQuery实现王者荣耀手风琴案例(知识块讲解+案例)

    前言 xff1a 这个案例是几年前的了 xff0c 现在的王者官网是没有这个手风琴模块的 xff0c 我了解到这个案例 xff0c 是受到了黑马程序员知名教师 pink老师的启发 xff0c 我相信大家也都不陌生 xff0c 同样也是我非常
  • 错误问题: Cannot read property ‘XXX‘ of undefined

    undefined不能读取属性XXX 说明定义变量里的值是undefined 查看报错的代码顺藤摸瓜 那打印console看一下 很关键 一定要学会打印 有可能是代码的书写错误了 xff08 大意写错了 xff09 当发现问题后 要学会顺腾
  • Node.js——fs的模块的读取文件-书写文件

    目录 一 fs模块的介绍与初始化 二 fs readFile 读取文件 第二种方法 xff1a 失败演示 xff1a 三 小结 四 fs writeFile 方法向指定文件中写入内容 五 案例 整理用户信息 一 fs模块的介绍与初始化 fs