node fs模块常用功能

关于flags

各种标识符

fs.readFile()读取一个文件

可以传递三个参数第一个是路径,第二个是编码方式,第三个是回调函数,

如果写了编码方式传过来的就不是一个Buffer,就是编码过后的东西

读取文件内容

fs.readFile('/etc/passwd', 'utf8', callback);
fs.writeFile()写入一个文件

如果文件不存在就会新建一个,如果目录不存在就会报错

async function test() {
  await fs.promises.writeFile(filename, "dsajkldsa", {
    flag: "a",
  });
  //最后一个表示配置{flag:“a”}表示追加
  fs.readFile(filename, (err, content) => {
    console.log(content.toString("utf-8"));
  });
}
fs.stat()获取文件状态

获取传入文件的状态

也可以传入目录

目录的size为0,目录记录一个指针,指针指向其中文件的地址,打开目录其实是通过指针找到文件的位置

async function test() {
  const status = await fs.promises.stat(filename);
  console.log(status);
}

test();
//输出结果
Stats {
  dev: 1544704498,
  mode: 33206,
  nlink: 1,
  uid: 0,
  gid: 0,
  rdev: 0,
  blksize: 4096,
  ino: 7036874417856700,
  size: 47680,
  blocks: 96,
  atimeMs: 1651996271195.6572,
  mtimeMs: 1651718270707.592,
  ctimeMs: 1651718270707.592,
  birthtimeMs: 1651995922591.119,
  atime: 2022-05-08T07:51:11.196Z,
  mtime: 2022-05-05T02:37:50.708Z,
  ctime: 2022-05-05T02:37:50.708Z,
  birthtime: 2022-05-08T07:45:22.591Z
}

fs.readdir()获取文件子目录

获取文件中的子目录

async function test() {
  const dirname = path.resolve(__dirname, "./readme");
  const paths = await fs.promises.readdir(dirname);
  console.log(paths);
}

test();
//输出内容
[ '1.text', 'G.jpg', 'Gf.jpg' ]
fs.mkdir()创建一个目录

可以使用fs.writeFile()创建一个文件

创建一个目录

 async function test() {
   for (let i = 0; i < 5; i++) {
     const dirname = path.resolve(__dirname, `./readme/${i}`);
     await fs.promises.mkdir(dirname);
   }
 }

 test();
判断一个一个目录是否存在
async function exits(filename) {
  try {
    await fs.promises.stat(filename);
    return true;
  } catch (error) {
    if (error.code === "ENOENT") {
      return false;
    }
    throw error;
  }
}
async function test() {
  const dirname = path.resolve(__dirname, "./readme/7");
  const result = await exits(dirname);
  if (result) {
    console.log("目录已存在");
  } else {
    console.log("目录不存在,已经帮你创建");
    fs.promises.mkdir(dirname);//c
  }
}

test();
fs.unlink()删除一个文件
删除一个文件
fs.unlink(filename)

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值