node js fs模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node js fs模块相关的知识,希望对你有一定的参考价值。

在nodejs中 可以通过fs(file system)模块进行文件的I/O操作

var fs = require(fs");//fs 为文件模块

var path = require(‘path‘);//path为系统路径模块

 

1.可以使用writeFile方法,将数据写入到文件到某个文件夹下

 

fs.writeFile(filename,data,[option],callback)

 

filename 为具体的文件保存路径地址

data为具体写入的文件数据对象

[option]为具体的保存文件配置,编码格式等

callback 回调函数

fs.writeFile(path.join(__dirname, ‘account.js‘), JSON.stringify(tempAccount), function (err) {
        if (err) throw err;
        console.log("Export Account Success!");
    });
//以JSON格式将数据写入到文件路径下。

  

2.读出数据readFile

fs.readFile(filename,[options],callback)

filename 文件夹路径及名称

[option] 为具体的配置项及编码格式

callback 回调

fs.readFile(path.join(__dirname, ‘account.js‘), function (err,bytesRead) {
    if (err) throw err;
    console.log(bytesRead);
});
//读出数据二进制的流文件

  //如果需要读取具体的数据,需要进行编码的配置如下:

fs.readFile(path.join(_dirname,‘a.js‘),{encoding:‘utf-8‘},function(err){})

  

3.读取文件夹下fs.readdir(path,callback);

   fs.readdir(path,callback);

   path 为具体的读取文件夹路径地址

   callback 回调

   fs.readdirSync(path) 为读取文件的实时同步版本方法

   path 为具体的文件夹路径

 

4.其他常用文件操作

 判断文件是否存在

fs.exists(文件路径,callback(err,fd));

重命名

fs.rename(旧文件名,新文件名,回调函数);

文件所有者变更

fs.chown(文件名,uid,gid,callback);

fs.fchown(文件句柄fd,uid,gid,回调);

fs.lchown(链接路径,uid,gid,回调);

文件权限变更

fs.chmod(文件名,mode,回调)

fsfchmod(文件句柄,mode,回调)

fslchmod(链接路径,mode,回调)

文件信息

fs.stat(文件路径,回调函数);

fs.fstat(文件句柄,回调函数);

fs.lstat(链接路径,回调函数);

文件时间

fs.utimes(文件路径,访问时间,新建时间,回调);

fs.futimes(文件句柄,访问时间,新建时间,回调);

 

监视文件

fs.watchFile(文件名,[option],listener_callback(当前文件的stats,改变前的stats));

fs.unwatchFile(文件名);

 

目录操作

fs.mkdir(路径,权限,回调);

fs.rmdir(路径,回调);

fs.readdir(路径,回调);

创建链接

fs.link(srcpath,dstpath,[callback])

fs.symlink();

读取链接指向的路径

fs.readlink(path,[callback])

fs.unlink(path,[callback])

 

   

 

以上是关于node js fs模块的主要内容,如果未能解决你的问题,请参考以下文章

十Node.js-fs模块(上)

Node.js 使用 fs 模块做文件 copy 的四种方法

node js fs模块

Node.js 初识 fs 模块

node.js每日灵魂一问- node.js的fs模块&常用方法

Promise--实践练习之fs模块 & node运行Js脚本 & Promise封装练习-fs模块 & util.promisify方法