当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js fs.constants用法及代码示例


fs.constants

返回一个包含文件系统操作常用常量的对象。

FS 常数#

以下常量由 fs.constants 导出。

并非每个常量都可以在每个操作系统上使用;这对于许多 POSIX 特定定义不可用的 Windows 尤其重要。对于便携式应用程序,建议在使用前检查它们的存在。

要使用多个常量,请使用按位 OR | 运算符。

例子:

import { open, constants } from 'node:fs';

const {
  O_RDWR,
  O_CREAT,
  O_EXCL
} = constants;

open('/path/to/my/file', O_RDWR | O_CREAT | O_EXCL, (err, fd) => {
  // ...
});
文件访问常量#

以下常量用作传递给 fsPromises.access() fs.access() fs.accessSync() mode 参数。

持续的 说明
F_OK 指示文件对调用进程可见的标志。这对于确定文件是否存在很有用,但没有说明rwx 权限。如果未指定模式,则为默认值。
R_OK 指示调用进程可以读取文件的标志。
W_OK 指示文件可以由调用进程写入的标志。
X_OK 指示文件可以由调用进程执行的标志。这对 Windows 没有影响(行为类似于 fs.constants.F_OK )。

这些定义在 Windows 上也可用。

文件复制常量#

以下常量用于 fs.copyFile()

持续的 说明
COPYFILE_EXCL 如果存在,如果目标路径已存在,则复制操作将失败并出现错误。
COPYFILE_FICLONE 如果存在,复制操作将尝试创建 copy-on-write 引用链接。如果底层平台不支持copy-on-write,则使用回退复制机制。
COPYFILE_FICLONE_FORCE 如果存在,复制操作将尝试创建 copy-on-write 引用链接。如果底层平台不支持copy-on-write,则操作将失败并出现错误。

这些定义在 Windows 上也可用。

文件打开常量#

以下常量用于 fs.open()

持续的 说明
O_RDONLY 指示打开文件以进行只读访问的标志。
O_WRONLY 指示打开文件以进行write-only 访问的标志。
O_RDWR 指示打开文件以进行读写访问的标志。
O_CREAT 如果文件尚不存在,则指示创建文件的标志。
O_EXCL 如果设置了O_CREAT 标志并且文件已经存在,则标志指示打开文件应该失败。
O_NOCTTY 指示如果路径标识终端设备的标志,则打开路径不应导致该终端成为进程的控制终端(如果该进程还没有控制终端)。
O_TRUNC 指示如果文件存在并且是常规文件并且文件被成功打开以进行写访问的标志,则其长度应被截断为零。
O_APPEND 指示数据将附加到文件末尾的标志。
O_DIRECTORY 如果路径不是目录,则指示打开应该失败的标志。
O_NOATIME 指示对文件系统进行读取访问的标志将不再导致与文件关联的atime 信息的更新。此标志仅在 Linux 操作系统上可用。
O_NOFOLLOW 如果路径是符号链接,则指示打开应该失败的标志。
O_SYNC 指示打开文件以进行同步 I/O 的标志,写入操作等待文件完整性。
O_DSYNC 指示打开文件以进行同步 I/O 的标志,写入操作等待数据完整性。
O_SYMLINK 指示打开符号链接本身而不是它指向的资源的标志。
O_DIRECT 设置后,将尝试最小化文件 I/O 的缓存影响。
O_NONBLOCK 指示尽可能以非阻塞模式打开文件的标志。
UV_FS_O_FILEMAP 设置后,将使用内存文件映射来访问文件。此标志仅在 Windows 操作系统上可用。在其他操作系统上,此标志被忽略。

在 Windows 上,只有 O_APPENDO_CREATO_EXCLO_RDONLYO_RDWRO_TRUNCO_WRONLYUV_FS_O_FILEMAP 可用。

文件类型常量#

以下常量与 <fs.Stats> 对象的mode 属性一起用于确定文件的类型。

持续的 说明
S_IFMT 用于提取文件类型代码的位掩码。
S_IFREG 常规文件的文件类型常量。
S_IFDIR 目录的文件类型常量。
S_IFCHR character-oriented 设备文件的文件类型常量。
S_IFBLK block-oriented 设备文件的文件类型常量。
S_IFIFO FIFO/管道的文件类型常量。
S_IFLNK 符号链接的文件类型常量。
S_IFSOCK 套接字的文件类型常量。

在 Windows 上,只有 S_IFCHRS_IFDIRS_IFLNKS_IFMTS_IFREG 可用。

文件模式常量#

以下常量与 <fs.Stats> 对象的mode 属性一起用于确定文件的访问权限。

持续的 说明
S_IRWXU 文件模式表示所有者可读、可写和可执行。
S_IRUSR 文件模式表示所有者可读。
S_IWUSR 文件模式指示所有者可写。
S_IXUSR 文件模式指示所有者可执行。
S_IRWXG 文件模式指示按组可读、可写和可执行。
S_IRGRP 指示按组可读的文件模式。
S_IWGRP 指示可按组写入的文件模式。
S_IXGRP 指示按组可执行的文件模式。
S_IRWXO 表示其他人可读、可写和可执行的文件模式。
S_IROTH 表示其他人可读的文件模式。
S_IWOTH 文件模式表示其他人可写。
S_IXOTH 文件模式表示其他人可执行。

在 Windows 上,只有 S_IRUSRS_IWUSR 可用。

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 fs.constants。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。