前言

Node.js中赋予了JavaScript很多在浏览器中没有的能力,譬如:文件读写,创建http服务器等等,今天我们就来看看在node中怎样用JavaScript进行文件的读写操作。

  1. 读文件

    1. 我们在data文件夹下新建一个hello.txt,并且在里面写入:hello, node.js!! ,如图:

  1. 我们在hello.txt同级目录下创建一个hello.js文件,我们在这个js文件中利用Node提供的文件操作API, 读取hello.txt文件中的内容。
  • node中对文件相关的操作需要依赖fs模块,这个是node中内置模块之一,我们需要引入。fs--file system。
let fs = require('fs')
fs.readFile() // 读文件。 readFile函数接受两个参数:读取文件路径,回调函数(error,data两个参数),
读取文件成功:data为文件内容,error为null,读取失败:error为错误对象,data为undefined

最后我们hello.js中的代码如下:

   let fs = require('fs')
fs.readFile('./hello.txt', (error, data) => {
console.log(data.toString())
})

在这里可以说一下,我们读取回来的默认是二进制的内容,所以需要调用toString()方法进行转换。最后,终端可以看到结果如下:

可以看到我们刚才在hello.txt中写入的文本hello, node.js!!已经打印出来。看到这里是不是觉得很牛叉,JavaScript居然可以用来读取文件内容,完全颠覆了我们以前对JavaScript的理解,然而这一切都得归功于Node.js。

  1. 写文件

    我们在刚才的hello.js中写入下面这行代码:

    fs.writeFile('./hello.md', '你好,node.js!', (error) => {
if (!error) {
console.log('创建成功了。。')
}
}) // 写文件。writeFile接受三个参数:写入文件路径,写入内容,回调函数。 写入成功时候:error为null,写入失败时候:error为错误对象

最后我们看到在同级目录下出现了一个hello.md文件,并且里面的内容为你好,node.js. 如图:

其实我们对文件的操作不仅仅只局限在读和写上,还有很多的操作,具体详情可以关注我后续的博客或者GitHub,大家也可以提前了解下node.js中文API。 中文API

后话

到了这里,我们是不是对node有了一个基本的了解,知道node是干什么的,而且知道正是由于node.js,我们的JavaScript才有了无限的可能,使得JavaScript不单单局限在浏览器窗口,俗话说得好:‘能用JavaScript来实现的,最终都会用JavaScript来实现’。

说明

本仓库是自己Node.js学习过程的真实记录,以后会每天更新一些新的知识点,希望可以对想要学Node.js的同学有一些帮助,欢迎star,你们的点赞是我更新的持久动力。同时如果你觉得本仓库中的一些知识点有错误也可以issue我,方便后期我订正!

本仓库同时在博客园和掘金更新,欢迎写博客的朋友一起学习交流。

博客园

找我

掘金

找我

GitHub

找我

Node.js学习(第二章:node核心模块--fs)的更多相关文章

  1. Node.js学习笔记(1) - Node.js简介

    近期在看一些Node.js的知识,看完后觉得,一些前面的东西忘记了,于是整理一下,方便自己查阅,也希望对学习Node.js的朋友有些帮助: 当然以下只是我个人的观点和理解,不喜勿喷,也望大神指教. 一 ...

  2. Node.js学习笔记(2) - Node.js安装及入门hello world

    今天来简单的记录一下Node.js的安装配置以及简单的入门 一.Node.js的安装 1.windows下的安装 windows下的安装很简单,只需要去官网http://nodejs.org中,找到w ...

  3. Node.js学习笔记(七) --- Node.js的静态文件托管、路 由、EJS 模板引擎、GET 、POST

    1 . Nodejs 静态文件托管静态 web 服务器封装 2 . 路由 官方解释:  路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET.POST 等)组成的, ...

  4. Node.js学习笔记(八) --- Node.js的路由模块封装

    1 .模块化的方式封装 整理中… 2 .封装仿照 express 的路由整理中…

  5. Node.js学习笔记(2):基本模块

    Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在No ...

  6. Node.js学习(第一章:Node.js安装和模块化理解)

    Node.js安装和简单使用 安装方法 简单的安装方式是直接官网下载,然后本地安装即可.官网地址:nodejs.org Windows系统下,选择和系统版本匹配的.msi后缀的安装文件.Mac OS ...

  7. Node.js学习(第一章:Node.js简介)

    Node.js是什么? Node.js 诞生于 2009 年,由 Joyent 的员工 Ryan Dahl 开发而成, 目前官网最新版本已经更新到 12.0.0版本,最新稳定的是10.15.3.Nod ...

  8. Node.js学习笔记(一)基础介绍

    什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...

  9. Node.js学习(11)----HTTP服务器与客户端

    Node.js 标准库提供了 http 模块,其中封装了一个高效的 HTTP 服务器和一个简易的HTTP 客户端.http.Server 是一个基于事件的 HTTP 服务器,它的核心由 Node.js ...

  10. 初学者的Node.js学习历程

    废话篇: 对于我这个新手的不能再白菜的人来说,nodejs的大名都有耳闻,所以说他是一项不可不克服的技能也是可以说的.但是之前没有搞清楚的情况之下胡乱的猜测,是的我对node.js没有一个具体的概念的 ...

随机推荐

  1. Vue简单归纳

    目录 Vue.JS Vue.JS介绍 概述 MVVM模式 示例图 快速入门 事件绑定 什么是事件 单击事件绑定 键盘事件 按键修饰符 鼠标事件 事件修饰符 数据绑定 插值 v-text v-bind ...

  2. Git初始配置【一】

    Git客户端的工作 安装完成后,还需要最后一步设置,在命令行输入 $ git config --global user.name "Your Name" $ git config ...

  3. 【NumPy】 之常见运算(np.around、np.floor、np.ceil、np.where)

    aroundnp.around 返回四舍五入后的值,可指定精度. around(a, decimals=0, out=None) a 输入数组 decimals 要舍入的小数位数. 默认值为0. 如果 ...

  4. 虚拟机VirtualBox 共享挂载问题:mount: /mnt/xxx: wrong fs type, bad option, bad superblock on xxx

    设置好共享文件夹之后,在/mnt下面建立了一个wwwroot文件夹,然后去欢天喜地的去挂载, mount -t vboxsf www /mnt/wwwroot 结果系统提示: mount: /mnt/ ...

  5. 在Linux下运行引入了外部jar包的java程序

    如图:H.java里引入了commons-io-2.2.jar 代码如下: import org.apache.commons.io.IOUtils; public class H{ public s ...

  6. [译]如何根据Pandas中的列名获取列所在的index位置?

    原文来源:https://stackoverflow.com/questions/13021654/get-column-index-from-column-name-in-python-pandas ...

  7. [LeetCode] 162. Find Peak Element 查找峰值元素

    A peak element is an element that is greater than its neighbors. Given an input array where num[i] ≠ ...

  8. 算法练习之二叉树的最大深度,二叉树的层次遍历 II

    1.二叉树的最大深度 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例:给定二叉树 [3,9,20,null,n ...

  9. Java项目main方法启动的两种方式

    1.打包时指定了主类,可以直接用java -jar xxx.jar. <!--main方法打包jar包插件--> <plugin> <artifactId>mave ...

  10. Java环境配置-jdk和jre的安装

    java 是直接在 jdk 下就可以运行 jdk会自带jre 所以只需要下载jdk配置一下环境就可以了 一般编辑java是需要 myeclipse 也可以用 记事本TXT文档 或者用 notepad+ ...