3

node.js的fs模块&常用方法

fs是什么???

fs模块也是node的核心模块之一
所有与文件相关的操作都是通过 fs 核心模块来实现的
包括增删改查读写
所有的方法都分为同步和异步两种实现
sync后缀的为同步

常用方法

1.readFile读文件 readFile(filename,[options],callback);

* 第一个参数: 读取文件的路径或文件描述符;
* 第二个参数: options,默认值为 null,
       写法一:{ebcoding: 'utf8',flag: r} 
              encoding表示:(编码,默认为 null)
              flag表示:(标识位,默认为 r读 r+读写(没有会报错) w写 w+读写)    
       写法二:直接传入encoding
* 第三个参数: 回调函数 内置参数err
 
const fs = require("fs"); 
fs.readFile("1.txt", "utf8", (err, data) => { 
    console.log(err); 
});
fs.readFile("1.txt", {encoding: 'utf8', flag: 'r'}, (err, data) => { 
    console.log(err); 
});

2.writeFile写文件fs.writeFile(filename,content,callback)

* 第一个参数: 为写入文件的路径或文件描述符;
* 第二个参数: 为写入的数据,类型为 String 或 Buffer;
* 第三个参数: 回调函数 内置参数err

const fs = require("fs");
//Hello world为写入的内容 
fs.writeFile("2.txt", "Hello world", err => {
    if (!err) {
        fs.readFile("2.txt", "utf8", (err, data) => {
            console.log(data); // Hello world
        });
    }
});

3.appendFile 追加文件 fs.appendFile(filename,content,callback)

* 第一个参数为写入文件的路径或文件描述符;
* 第二个参数为写入的数据,类型为 String 或 Buffer;
* 第三个参数: 回调函数 内置参数err

const fs = require("fs");
fs.appendFile("3.txt", "world", err => {
  if (!err) { 
       fs.readFile("3.txt", "utf8", (err, data) => {
         console.log(data); // world
       }); 
  } 
});

4.拷贝文件 copyFile(sourcePath,targetPath,callback)

* 第一个参数为被拷贝的源文件路径
* 第二个参数为拷贝到的目标文件路径,
* 第三个参数是回调函数

const fs = require("fs");

fs.copyFile("3.txt", "4.txt", () => {
    fs.readFile("4.txt", "utf8", (err, data) => {
        console.log(data); // world
    });
});

5.创建目录

fs.mkdir(path,callback)

6.读取目录

fs.readdir(path,callback)

7.删除目录

fs.unlink(path,callback)


NANA
94 声望7 粉丝

小魔女