Node.js中的文件夹写入怎么实现-创新互联

这篇文章主要介绍了Node.js中的文件夹写入怎么实现,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的荔波网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

fs.Dir & fs.Dirent

fs.Dir 是可迭代的目录流的类,fs.Dirent 是遍历 fs.Dir 获得的目录项,可以是文件或目录中的子目录


fs.Dir

  • dir.path:目录的只读路径
  • dir.read():不传入 callabck 函数则返回 Promise,读取迭代器下一个目录项,返回一个 Promise,resolve 后得到 fs.Dirent 或 null(如果没有更多的目录项要读取)
  • dir.close():不传入 callabck 函数则返回 Promise,关闭目录的底层资源句柄

fs.Dirent

  • dirent.name
  • dirent.isDirectory()
  • dirent.isFile()
  • dirent.isSymbolicLink()

fs.opendir

fs.opendir(path[, options], callback) 打开一个目录,返回 fs.Dir 对象

const fs = require('fs/promises');

async function print(path) {
  const dir = await fs.opendir(path);
  for await (const dirent of dir) {
    console.log(dirent.name);
  }
}
print('./').catch(console.error);

可以通过 dir.read() 迭代 dir

const fs = require('fs/promises');

async function print(path) {
  const dir = await fs.opendir(path);
  let dirent = await dir.read();
  while (dirent) {
    console.log(dirent.name);
    dirent = await dir.read();
  }

  dir.close();
}
print('./').catch(console.error);

fs.readdir

fs.readdir(path[, options], callback) 读取目录的内容,回调有两个参数 (err, files),其中 files 是目录中的文件名的数组(不包括 '.' 和 '..')
options

  • encoding:默认值 utf8,如果 encoding 设置为 'buffer',则返回的文件名是 Buffer 对象
  • withFileTypes:默认值 false,设置为 true 后回调函数 files 数组将包含 fs.Dirent 对象
const fs = require('fs/promises');

async function print(path) {
  const files = await fs.readdir(path);
  for (const file of files) {
    console.log(file);
  }
}
print('./').catch(console.error);

fs.mkdir

fs.mkdir(path[, options], callback) 创建目录
options

  • recursive:默认值 false,设置为 true 时候相当命令mkdir -p 会把不存在的目录创建
  • mode:默认值 0o777,Windows 不支持
// 创建 /tmp/a/apple 目录,无论是否存在 /tmp 和 /tmp/a 目录。
fs.mkdir('/tmp/a/apple', { recursive: true }, err => {
  if (err) throw err;
});

fs.rmdir

fs.rmdir(path[, options], callback) fs.rmdir 用于删除文件夹
options

  • recursive:默认值 false,如果为 true,则执行递归的目录删除。在递归模式中,如果 path 不存在则不报告错误,并且在失败时重试操作
  • retryDelay:默认值 100,出现异常后重试之间等待毫秒数。如果 recursive 选项不为 true,则忽略此选项
  • maxRetries:默认值为 0,表示出现异常后重试的次数,如果遇到 EBUSY、 EMFILE、 ENFILE、 ENOTEMPTY 或 EPERM 错误,则 Node.js 将会在每次尝试时以 retryDelay 毫秒的线性回退来重试该操作。 如果 recursive 为 false,则忽略此选项
const fs = require('fs');

fs.rmdir('./tmp', { recursive: true }, err => console.log);

之前 rmdir 只能删除空的文件夹,现在可以连同文件一起删除了

感谢你能够认真阅读完这篇文章,希望小编分享Node.js中的文件夹写入怎么实现内容对大家有帮助,同时也希望大家多多支持创新互联网站建设公司,,关注创新互联行业资讯频道,遇到问题就找创新互联网站建设公司,,详细的解决方法等着你来学习!


本文标题:Node.js中的文件夹写入怎么实现-创新互联
URL标题:http://myzitong.com/article/ddjcdp.html