Node FS – NodeJS创建文件,读取文件,写入文件

时间:2020-02-23 14:41:09  来源:igfitidea点击:

Node FS代表NodeJS File System模块。
在我之前的文章中,我们已经讨论了如何使用require()调用导入Node JS模块。
在阅读本文之前,请仔细阅读本文" Node JS导出和导入模块"以了解require()调用用法。

Node FS

在本文中,我们将讨论Node JS平台的" fs"模块。
FS代表文件系统。
此模块也称为IO或者FileSystem或者Stream模块。

NodeJS FS模块发布简介

  • Node FS模块简介
  • 节点JS创建文件
  • 节点JS写入文件
  • 节点JS读取文件

Node FS模块简介

节点FS模块提供了一个与文件系统交互并执行一些IO操作的API,例如创建文件,读取文件,删除文件,更新文件等。

像某些节点模块(例如" npm"," http"等)一样,节点JS" fs"也带有基本的节点JS平台。
我们无需执行任何操作即可设置Node JS FS模块。

Node FS模块导入

我们只需要将节点fs模块导入我们的代码中,然后开始编写IO Operations代码即可。

导入节点fs模块;

var fs = require("fs");

此require()调用将Node JS" fs"模块导入缓存,并创建Node FS模块类型的对象。
完成后,我们可以使用节点fs对象执行任何IO操作。

让我们假设我们的${Eclipse_Workspace}指向D:\RamWorkspaces \ NodeWorkSpace

现在开始,我将使用此变量来引用我的Eclipse工作区。

作为Java或者DOT NET或者C/C++开发人员,我们已经学习并编写了一些IO程序。

IO或者流有两种类型:

  • 写入流–将数据写入流。

  • 读取流–从流中读取数据。

节点JS创建文件

现在,我们将讨论如何使用Node JS FS API创建新文件。

  • 在Eclipse IDE中创建一个Node JS项目。

  • 复制之前示例中的" package.json"文件并更新所需的内容。

  • 创建具有以下内容JavaScript文件; fs-create-file.js。

代码说明:var fs = require(" fs")"require()调用将指定的Node FS模块加载到缓存中,并将其分配给名为fs的对象。
fs.createWriteStream(filename)调用用于创建Write。
具有给定文件名的流和文件。
createStream.end()调用结束或者关闭打开的流。

  • 在执行" fs-create-file.js"之前,首先观察文件系统项目的内容,您将注意到" theitroad.txt"文件不可用。

  • 在$$Eclipse_Workspace}/filesystem上打开命令提示符,运行命令commend来执行fs-create-file.js文件,如下图所示。
    现在注意项目目录内容,您会注意到一个名为" theitroad"的空文件。
    文本"。

节点JS写入文件

我们将使用Node FS API创建一个新文件,并将一些数据写入其中。
它是我们先前示例的延续。

  • 从${Eclipse_Workspace}/filesystem文件夹中删除先前创建的" theitroad.txt"

  • 创建具有以下内容的Java脚本文件:fs-write-file.js
    createStream.write(sometext)调用用于将一些文本写入文件。

  • ${Eclipse_Workspace}/filesystem打开命令提示符,并运行命令commend来执行fs-write-file.js文件,如下所示。

  • 转到${Eclipse_Workspace}/filesystem文件夹,然后打开" theitroad.txt"以验证其内容。

现在,我们创建了一个新文件,并将一些数据写入该文件。

节点JS读取文件

我们将使用Node FS API打开和读取现有文件内容,并将该内容写入控制台。
它是我们先前示例的延续。

其中我们将使用命名JavaScript函数。
通过这个例子来理解这一点。

  • 使用以下内容创建Java脚本文件。
    fs-read-file1.js

代码说明:readData()是一个带有两个参数JavaScript函数; err:它是一个错误对象。
当我们的程序无法打开或者无法从文件读取数据时,FS模块将一些错误消息写入此参数。

  • 数据:这是保存一些数据的变量。

此函数采用data参数并将该数据打印到控制台。

fs.readFile()是Node JS FS API。
它包含三个参数;

  • 文件名
  • 文件数据格式读取
  • JavaScript函数或者JavaScript匿名函数

readFile()从文件名(第一个参数)以给定格式(第二个参数)读取数据,并使用第三个参数给定的函数执行某些操作。

其中我们使用普通JavaScript函数作为第三个参数。
在下一个示例中,我们将看到如何使用JavaScript匿名函数。

在我们的示例中,readFile()从" theitroad.txt"文件中读取数据并写入控制台。

If we don’t use 'utf8' format, then we will get binary data. We will verify this in few moments.- 在${Eclipse_Workspace}/filesystem上打开命令提示符,并运行命令commend执行fs-read-file1.js文件。
现在,我们发现我们的代码已成功打开文件,读取了文件的内容并将其内容写入控制台。

Node.js以二进制形式读取文件

现在,我们将使用JavaScript匿名函数从文件中读取数据。
通过这个例子来理解这一点。
它仅与之前的fs-read-file1.js示例相似,但具有匿名功能。
如果您不熟悉JavaScript匿名函数,请阅读一些JavaScript教程并有所了解。

创建具有以下内容的Java脚本文件;

fs-read-file2.js

{
"name": "filesystem",
"version": "1.0.0",
"description": "File System Example",
"main": "filesystem",
"author": "theitroad",
"engines":{
	"node":"*"
	}
}

代码说明:

这里的readFile()使用JavaScript匿名函数从文件中读取数据并将该文件内容写入控制台。

运行此文件时,将得到与fs-read-file2.js示例相同的输出。

现在删除" utf8"数据格式以查看二进制输出。

/**
 * Node FS Example
 * Node JS Create File
 */
var fs = require("fs");

var createStream = fs.createWriteStream("theitroad.txt");
createStream.end();

执行以上文件,并观察输出,如下图所示。

温馨提示:要深入学习Node JS FS API,请使用Enide 2014 Studio并了解所有可用功能和用法,如下所示。

/**
 * Node FS Example
 * Node JS Write to File
 */
var fs = require("fs");

var writeStream = fs.createWriteStream("theitroad.txt");
writeStream.write("Hi, theitroad Users. ");
writeStream.write("Thank You.");
writeStream.end();