node.js 使用fs模块对系统文件及目录进行读写操作

Posted 暮志未晚Webgl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js 使用fs模块对系统文件及目录进行读写操作相关的知识,希望对你有一定的参考价值。

如果要用这个模块,首先需要引入,fs已经属于node.js自带的模块,所以直接引入即可

var fs = require('fs');
1.读取文件readFile方法使用

fs.readFile(filename,[option],callback) 方法读取文件。

参数说明:

  • filename String 文件名
  • option Object
    • encoding String |null default=null
    • flag String default='r'
  • callback Function
// 设置编码格式
fs.readFile('./test.txt', 'utf-8', function(err, data) 
    // 读取文件失败/错误
    if (err) 
        throw err;
    
    // 读取文件成功
    console.log('utf-8: ', data.toString());
);
2.写入文件writeFile方法使用

使用fs.writeFile(filename,data,[options],callback)写入内容到文件。

参数说明:

  • filename String 文件名
  • data String|buffer
  • option Object
    • encoding String |nulldefault='utf-8'
    • mode Number default=438(aka 0666 in Octal)
    • flag Stringdefault='w'
  • callback Function
var fs = require('fs'); // 引入fs模块

// 写入文件内容(如果文件不存在会创建一个文件)
// 写入时会先清空文件
fs.writeFile('./test2.txt', 'test test', function(err) 
    if (err) 
        throw err;
    

    console.log('Saved.');

    // 写入成功后读取测试
    fs.readFile('./test2.txt', 'utf-8', function(err, data) 
        if (err) 
            throw err;
        
        console.log(data);
    );
);

因为默认flag='w'是写,会清空文件,想要追加,可以传递一个flag参数,如下。

flag传值,r代表读取文件,w代表写文件,a代表追加。

var fs = require('fs'); // 引入fs模块

// 写入文件内容(如果文件不存在会创建一个文件)
// 传递了追加参数  'flag': 'a' 
fs.writeFile('./test2.txt', 'test test',  'flag': 'a' , function(err) 
    if (err) 
        throw err;
    

    console.log('Saved.');

    // 写入成功后读取测试
    fs.readFile('./test2.txt', 'utf-8', function(err, data) 
        if (err) 
            throw err;
        
        console.log(data);
    );
);
3.创建目录mkdir使用

使用fs.mkdir(path,[mode],callback)创建目录,path是需要创建的目录,[mode]是目录的权限(默认是0777),callback是回调函数。

var fs = require('fs'); // 引入fs模块

// 创建 newdir 目录
fs.mkdir('./newdir', function(err) 
    if (err) 
        throw err;
    
    console.log('make dir success.');
);
4.读取目录readdir

var fs = require('fs'); // 引入fs模块

fs.readdir('./newdir', function(err, files) 
    if (err) 
        throw err;
    
    // files是一个数组
    // 每个元素是此目录下的文件或文件夹的名称
    console.log(files);
);
5.删除文件unlink

var fs = require('fs'); // 引入fs模块

fs.unlink('./newfile.txt', function(err) 
    if (err) 
        console.log(err);
        return false;
    
    console.log("success");
);

6.删除空文件夹rmdir

var fs = require('fs'); // 引入fs模块

fs.rmdir('./newdir', function(err) 
    if (err) 
        console.log(err);
        return false;
    
    console.log("success");
);







以上是关于node.js 使用fs模块对系统文件及目录进行读写操作的主要内容,如果未能解决你的问题,请参考以下文章

Node.js文件系统(fs模块的使用)

Node.js之文件及文件流(fs,path,buffer,stream)

Node.js 文件系统操作

Node.js模块

Node.js学习(第二章:node核心模块--fs)

node.js总结