热门标签 | 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('文件写入成功!') } })

推荐阅读
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • ServiceStack与Swagger的无缝集成指南
    本文详细介绍了如何在ServiceStack项目中集成Swagger,以实现API文档的自动生成和在线测试。通过本指南,您将了解从配置到部署的完整流程,并掌握如何优化API接口的开发和维护。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 本文详细探讨了VxWorks操作系统中双向链表和环形缓冲区的实现原理及使用方法,通过具体示例代码加深理解。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
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社区 版权所有