Node(四)内置模块之File System

本文最后更新于:9 个月前

文件和文件夹的操作(fs模块)

下面是fs的几种功能:
首先在js文件最上方引入模块

const fs = require("fs");

对文件夹操作:

1.新建文件夹

//mkdirSync里的参数是文件路径和回调函数,Sync表示同步执行,若无Sync,则表示异步执行(下同)
fs.mkdirSync('./files/third',(err)=>{
//参数是报错内容,若无错误则没有
  if (err) {
    console.log("Error");
  } else {
    console.log("OK");
  }
});

2.删除文件夹

fs.rmdirSync('./files',(err)=>{
  if (err) {
    console.log("Error");
  } else {
    console.log("OK");
  }
});

3.读取文件夹

fs.readdir('./files',(err,file)=>{
  if (err) {
    console.log("Error");
  } else {
    console.log(file);
  }
});

4.查看文件夹的属性及状态

//stats是返回的文件夹的属性
fs.stat('./files',(err,stats)=>{
  if (err) {
    console.log("Error");
  } else {
  //stats.isDirectory()判断是否是文件夹;stats.isFile()判断是否是文件
    console.log(stats);
    console.log(stats.isDirectory());
    console.log(stats.isFile());
  }
});

对文件操作:

1.新建文件

//参数是新建文件的路径,文件内容,成功后回调函数
fs.writeFile('./files/second/e.txt','Hello_World',(OK)=>{
    console.log("OK");
});

2.读取文件内容

fs.readFile('./files/second/e.txt',(OK,data)=>{
    // 转换的是buffer,要用toString转换
        console.log(data.toString());
});

//或用下面的
fs.readFile('./files/a.txt','utf8',(OK,data)=>{
    // 转换的是buffer,或者用utf8转换
        console.log(data);
});

3.在文件后插入内容

fs.appendFile('./files/b.txt','hello~',(OK)=>{
        console.log('ok');
});

4.删除文件

const fs = require("fs");
fs.unlink('./files/f.txt',(OK)=>{
        console.log('ok');
});