node的文件IO

文件IO

fs文件系统

内置模块

readFile(path,[, options], callback)

异步地读取文件的全部内容,有回调函数。得到的是字节,可以使用toString(‘utf-8’)将其编码成正常字符串;还可以在第二个参数进行配置如‘utf-8’,直接可以得到字符串。

// test.txt  :  I am a Chinese.

读取test.txt文件内容

const path = require('path');
const fs = require('fs');

const filename = path.resolve(__dirname, './test.txt');

fs.readFile(filename, (error, content) => {
    console.log(content);
    console.log(content.toString('utf-8'))
})

输出:<Buffer 49 20 61 6d 20 61 20 20 43 68 69 6e 65 73 65 2e>
	I am a  Chinese.

fs.promises.readFile(path[, options])

异步地读取文件的全部内容,返回promise


// test.txt  :  I am a Chinese.

const path = require('path');
const fs = require('fs');

const filename = path.resolve(__dirname, './test.txt');

fs.promises.readFile(filename, 'utf-8').then((resp) => {
    console.log(resp)
})

输出:   I am a Chinese.

fs.readFileSync(path[, options])

同步返回 path 的内容。(会导致JS运行阻塞,影响性能)

// test.txt  :  I am a Chinese.

const path = require('path');
const fs = require('fs');

const filename = path.resolve(__dirname, './test.txt');


console.log(fs.readFileSync(filename, 'utf-8'))

输出: I am a Chinese.

fs.promises.writeFile(file, data[, options])

写文件,默认会覆盖原来的内容;可以设置配置参数flag的值为

  • a : 追加 ,在原有内容后面追加
  • w: 写;覆盖原有内容

//test.txt:  I am a Chinese.
const path = require('path');
const fs = require('fs');

const filename = path.resolve(__dirname, './test.txt');

fs.promises.writeFile(filename, 'I am xyq!');

// test.txt: I am xyq!

fs.stat(path[, options])

获取文件或目录的信息

  • size: 占用字节
  • atime:上次访问时间
  • mtime:上次文件内容被修改时间
  • ctime:上次文件状态被修改时间
  • birthtime:文件创建时间
  • isDirectory():判断是否是目录
  • isFile():判断是否是文件

fs.readdir

获取目录中的文件和子目录

fs.mkdir

创建目录

//在当前目录创建1-5,5个目录

for (let i = 1; i <= 5; i++) {
    fs.promises.mkdir(path.resolve(__dirname) + `/${i}`);
}

fs.exists

判断文件或目录是否存在

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值