前言

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. curl的速度为什么比file_get_contents快以及具体原因

    一.背景      大家做项目的时候,不免会看到前辈的代码.博主最近看到前辈有的时候请求外部接口用的是file_get_contents,有的用的是curl.稍微了解这两部分的同学都知道,curl在性 ...

  2. postMan下使用xdebug

    增加 ?XDEBUG_SESSION_START=PHPSTORM 例: {{url}}/manage/getuserinfo?XDEBUG_SESSION_START=PHPSTORM

  3. http使用formData方式传输文件请求

    转载请注明出处: 项目中有遇到http使用formData请求传输文件,在此记录一下 1.依赖jar包: <dependency> <groupId>org.apache.ht ...

  4. [转]css3自适应布局单位vw,vh你知道多少?

    原文地址:https://www.cnblogs.com/luxiaoxing/p/7544375.html 视口单位(Viewport units) 什么是视口? 在PC端,视口指的是在PC端,指的 ...

  5. 【Python学习之十】操作数据库

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 操作mysql数据库 1.安装pymysql模块p ...

  6. Kubernetes Pod应用的滚动更新(八)

    一.环境准备 我们紧接上一节的环境,进行下面的操作,如果不清楚的,可以先查看上一篇博文. 滚动更新是一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新.滚动更新的最大的好处是零停 ...

  7. Docker虚拟化

    1. Docker虚拟化特点 跟传统VM比较具有如下优点: 操作启动快 运行时的性能可以获取极大提升,管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位的. 轻量级虚拟化 你会拥有足够的“操 ...

  8. leetcode 55 Jump Game 三种方法,回溯、动态规划、贪心

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  9. 轮胎魔术公式(Magic Fomula)模型

    魔术公式是用三角函数的组合公式拟合轮胎试验数据,用一套形式相同的公式就可以完整地表达轮胎的纵向力Fx.侧向力Fy.回正力矩Mz.翻转力矩Mx.阻力矩My以及纵向力.侧向力的联合作用工况,故称为“魔术公 ...

  10. 07 XML知识点--学习笔记

    1.XML概念:Extensible Markup Language 可扩展标记语言 可扩展:标签都是自定义的. <user> <student> 功能 * 存储数据 1. 配 ...