Node FS – NodeJS创建文件,读取文件,写入文件
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();