Node.js内置模块——fs

fs文件系统模块

fs模块是由Node.js官方提供的、用来操作文件的模块。它提供了一些列的方法和属性,用来满足用户对文件操作的需求,包括文件目录的创建、删除、查询以及文件内容的读取和写入等。

fs的基本操作

1.文件内容的读取

  • 同步方法readFileSync()
    readFileSync()可传入两个参数,第一个参数为要读取文件的路径;第二个参数为 options,默认值为 null,其中有 encoding(编码,默认为 null)和 flag(标识位,默认为 r),也可直接传入 encoding。
    返回值为文件的内容,如果没有 encoding,返回的文件内容为 Buffer,如果有按照传入的编码解析。
//使用前需导入模块
const fs = require('fs')

let data = fs.readFileSync("./1.txt", "utf8");
console.log(data);
  • 异步方法readFile()
    readFile()可传入三个参数,前两个参数与readFileSync()一致,第三个参数为一个回调函数,用于在文件读取成功后执行。
    回调函数function()有两个参数,错误信息err和返回数据data
const fs = require('fs')

//读取文件 (文件路径,编码格式(可省略),回调函数)
fs.readFile('./1.txt','utf8',function(err,data) {
    
    
    if(err) {
    
    
        return console.log('文件读取失败' + err.message);
    }
    console.log(data);
})

2.文件内容的写入

  • 同步方法writeFileSync()
    writeFileSync()有三个参数:第一个参数为写入文件的路径;第二个参数为写入的数据;第三个参数为 options,默认值为 null,其中有 encoding(编码,默认为 utf8)、 flag(标识位,默认为 w)和 mode(权限位,默认为 0o666),也可直接传入 encoding。
const fs = require('fs')

let data = fs.writeFileSync("./1.txt", "Hello World!");
  • 异步方法writeFile()
    writeFile()在writeFileSync()的基础上,还多一个回调函数。
fs.writeFile('./1.txt','你好!',function(err) {
    
    
    if(err) {
    
    
        return console.log('文件写入失败' + err.message);
    }
    console.log('文件写入成功');
})

文件写入操作,在原文件有内容的情况下,新写入的内容会覆盖原有的内容

3.文件内容的追加

  • 同步方法appendFileSync()
  • 异步方法appendFile()

参数说明与操作同上,结果不同,新写入的内容不会覆盖文件的原有内容,而是追加在其后

猜你喜欢

转载自blog.csdn.net/weixin_52580677/article/details/123125177