當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。