首页 > 语言 > JavaScript > 正文

详解nodejs 文本操作模块-fs模块(一)

2024-05-06 15:04:25
字体:
来源:转载
供稿:网友

JS的安全性问题,就决定了JS想要取操作数据库操作文件是不可实现的,而Nodejs作为服务端的JS,如果依然不能操作文件,那么又如何称之为服务端语言呢,所以在Nodejs中,提供了一个fs(File System)模块,以实现文件及目录的读写操作。

写在前面

Nodejs的一大优势就在于,支持异步调用,不管是在读取数据库,还是在读取文件时,都可以使用异步的方式进行处理,这样就可以处理高并发的情况,从本篇开始,开始对Nodejs的fs模块中,一些重要的API,结合源码,进行一些说明学习。

fs模块支持的属性和方法

fs模块是一个很重要的模块,也支持非常多的属性和方法,可以直接在nodejs中查看,fs模块支持的属性,创建一个app.js文件,输入以下代码,运行即可。

var fs = require("fs"),  i;   for(i in fs){  console.log(i); } 

由于fs的家族子弟太多,这里就不一一列举了,下面就开始介绍一下fs家族的核心子弟。

1:open和openSync方法

对于文件操作,最基本的莫过于打开文件,你想要读写文件,那么就必须要打开文件才能读写,就像你要往冰箱放东西或者从冰箱拿东西,那么你首先要打开冰箱才行。

所以,这里就以文件的打开为首个属性,来进入文件模块。

文件操作中,分为同步操作和异步操作,它们的命名规则都是相同的,比如这里,open方法是异步方法,同步的方法是在异步方法的基础上,添加一个”Sync“的后缀,也就是这里的openSync,还有读取文件时也是,readFile和readFileSync等,这个在后面不再多说,并且它们的使用基本上也是相同的,唯一的差距在于异步的数据是以第二个参数的形式传入回调函数,而同步的方法,返回值就是处理的结果数据。

下面,就会以open和openSync为基础,把这些都说明一下。

open和openSync的使用方法:

var fs = require("fs");  fs.open(filename,flags,[mode],callback);  //同步打开文件 var fs = openSync(filename,flags,[mode]); 

以open方法的使用方式为例,open方法中,可以使用4个参数,其中filename参数,flags参数,callback参数是必须指定的参数,mode参数为可选参数。

其中:

filename是你所要读取文件的路径,可以是绝对路径,也可以是相对路径,这个就看你喜好了。

callback为打开文件成功后,执行的回调函数,回调函数的格式为:

function(err , data){ //err为读取文件失败时,触发的错误对象 //data为回调函数的可用数据。 //在open的回调函数中,data是一个整数值,代表打开文件时返回的文件描述符(文件句柄)。 //每一个文件,都有唯一的文件描述符(句柄)。 }             
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选