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");
});







  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值