热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

node文件读写操作

1.文件的读操作。浏览器中的JavaScript是没有文件操作能力的,但是Node中的JavaScript具有文件操作的能力。fs是fil

1.文件的读操作。

  • 浏览器中的Javascript是没有文件操作能力的,但是Node中的Javascript具有文件操作的能力。
  • fs是file-system的简写,就是文件系统的意思,在node中如果想要进行文件操作,就必须引入fs这个核心模块。
  • 在fs这个核心模块中,就提供了所有的文件操作相关的API,例如:fs.readFile 就是用来读取文件的。
  • 使用require引入方法加载fs核心模块。

const fs = require('fs')

  • 读取文件(第一个参数就是要读取文件的路径,第二个参数是一个回调函数)。
    回调函数接收2个参数,分别是error和data。
    error:
    如果读取失败,error就是错误对象。
    如果读取成功,error就是 undefind,没有数据。
    data:
    如果读取成功,data就是读取到的数据。
    如果读取失败,error就是错误对象。

    node文件读写操作

    此外,我们还可以通过判断error来确认是否有错误发生。

const fs = require('fs') fs.readFile('README.md', (error, data) => { if (error) { console.log('文件读写失败了!') }else { console.log('data') } //另外一种报错方式。 // if (!error) { // console.log(data) // } })

这一长串 到底是啥?

注意,这一行东西并不是乱码,文件中存储的其实都是二进制数据0和1,那么这里为什么看到的不是0和1呢?反而看到的是Buffer引出的一串不可读的数字,原因是二进制转为了16进制了。

但是无论是2进制还是16进制,都是不可读的,所以我们需要通过toString()方法把其转为我们能认识的字符。

const fs = require('fs') fs.readFile('README.md', (error, data) => { console.log(data.toString()); })

2.文件的写操作。

使用 fs.writeFile()方法。

  • 第一个参数是写入的路径,你要将内容写入到哪里去?
  • 第二个参数是你要写入的相关信息的内容。
  • 第三个参数是一个回调函数。
    回调函数里面接收一个error参数。

成功:
文件写入成功。
error 是 null。
失败:
文件写入失败。
error 就是错误对象。

node文件读写操作

严谨一定的写法如下:

fs.writeFile('hello.txt', '落霞与孤鹜齐飞,秋水共长天一色。', err => { if (error) { console.log("文件写入失败!") }else { console.log('文件写入成功!') } })

推荐阅读
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 在开发一个网页音乐播放器时遇到问题,需要从不同源读取MP3文件的ID3标签信息,包括流派、歌手和歌曲名称等。尝试使用PHP未果后转而考虑使用JavaScript进行跨域读取,但不清楚具体配置方法,寻求技术指导。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • 本文是对《敏捷软件开发:原则、模式与实践》一书的深度解析,书中不仅探讨了敏捷方法的核心理念及其应用,还详细介绍了面向对象设计的原则、设计模式的应用技巧及UML的有效使用。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 如何在PyCharm中配置Python脚本的默认模板
    本文介绍如何在PyCharm中设置Python脚本的默认模板,以便每次创建新的.py文件时自动填充预设内容,提高开发效率。 ... [详细]
  • 洛谷 P4009 汽车加油行驶问题 解析
    探讨了经典算法题目——汽车加油行驶问题,通过网络流和费用流的视角,深入解析了该问题的解决方案。本文将详细阐述如何利用最短路径算法解决这一问题,并提供详细的代码实现。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • Irish budget airline Ryanair announced plans to significantly increase its route network from Frankfurt Airport, marking a direct challenge to Lufthansa, Germany's leading carrier. ... [详细]
author-avatar
犹豫的海波V5_697
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有