<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                >[success] # 獲取文件狀態 1. 常用的 api | API | 描述 | | --- | --- | | `fs.stat(path, callback)` | 獲取指定路徑的文件或目錄的詳細信息。 | | `fs.statSync(path)` | 同步地獲取指定路徑的文件或目錄的詳細信息。 | | `fs.existsSync(path)` | 同步地判斷指定路徑的文件或目錄是否存在。 | | `fs.access(path, mode, callback)` | 測試指定路徑的文件或目錄是否可訪問。 | | `fs.accessSync(path, mode)` | 同步地測試指定路徑的文件或目錄是否可訪問。 | | `fs.fstat(fd, callback)` | 獲取一個已經打開的文件的詳細信息。 | | `fs.lstat(path, callback)` | 獲取指定路徑的文件或目錄的詳細信息,包括符號鏈接本身的信息。 | | `fs.fstatSync(fd, [, options])` | 同步獲取一個已經打開的文件的詳細信息。 | | `fs.lstatSync(path, [, options])` | 同步獲取指定路徑的文件或目錄的詳細信息,包括符號鏈接本身的信息。 | 2. 想獲取文件文件屬性信息例如`是否是一個普通文件`,`是否是文件是一個目錄`等,就可以通過其 **返回值(fs.Stats 類)** 進行判斷 | 屬性 | 類型 | 描述 | | --- | --- | --- | | `stats.isFile()` | `function` | 如果文件是一個普通文件,則返回`true`,否則返回`false`。 | | `stats.isDirectory()` | `function` | 如果文件是一個目錄,則返回`true`,否則返回`false`。 | | `stats.isBlockDevice()` | `function` | 如果文件是一個塊設備,則返回`true`,否則返回`false`。 | | `stats.isCharacterDevice()` | `function` | 如果文件是一個字符設備,則返回`true`,否則返回`false`。 | | `stats.isSymbolicLink()` | `function` | 如果文件是一個符號鏈接,則返回`true`,否則返回`false`。 | | `stats.isFIFO()` | `function` | 如果文件是一個 FIFO,則返回`true`,否則返回`false`。 | | `stats.isSocket()` | `function` | 如果文件是一個 Socket,則返回`true`,否則返回`false`。 | | `stats.dev` | `number` | 文件所在設備的 ID。 | | `stats.ino` | `number` | 文件的 inode 編號。 | | `stats.mode` | `number` | 文件的權限模式。 | | `stats.nlink` | `number` | 文件的硬鏈接數。 | | `stats.uid` | `number` | 文件所有者的用戶 ID。 | | `stats.gid` | `number` | 文件所有者的組 ID。 | | `stats.rdev` | `number` | 如果文件是一個特殊文件,則為其設備 ID。 | | `stats.size` | `number` | 文件大小(以字節為單位)。 | | `stats.blksize` | `number` | 文件系統塊的大小。 | | `stats.blocks` | `number` | 已分配給文件的塊數。 | | `stats.atimeMs` | `number` | 文件的最后訪問時間(以毫秒為單位)。 | | `stats.mtimeMs` | `number` | 文件的最后修改時間(以毫秒為單位)。 | | `stats.ctimeMs` | `number` | 文件的最后更改時間(以毫秒為單位)。 | | `stats.birthtimeMs` | `number` | 文件的創建時間(以毫秒為單位)。 | | `stats.atime` | `Date` | 文件的最后訪問時間(以`Date`對象形式)。 | | `stats.mtime` | `Date` | 文件的最后修改時間(以`Date`對象形式)。 | | `stats.ctime` | `Date` | 文件的最后更改時間(以`Date`對象形式)。 | | `stats.birthtime` | `Date` | 文件的創建時間(以`Date`對象形式)。 | >[danger] ### fs.stat(path\[, options\], callback) `s.stat()`是Node.js文件系統模塊中的一個方法,用于獲取指定路徑的文件或目錄的詳細信息,例如文件大小、修改時間、創建時間等。 函數簽名如下: ~~~ fs.stat(path[, options], callback) ~~~ 參數說明如下: * `path`:需要獲取信息的文件或目錄的路徑。 * `options`:一個可選的對象,用于指定一些選項,例如`bigint`選項,用于返回大整數值而非默認的數字類型。 * `callback`:一個回調函數,用于處理`fs.stat()`方法返回的結果。該回調函數接收兩個參數,第一個參數為錯誤對象,如果沒有錯誤則為`null`,第二個參數為表示文件或目錄信息的`fs.Stats`對象。 2. `fs.stat()`方法可以用于判斷文件或目錄是否存在,如果指定的文件或目錄不存在,則會返回一個`ENOENT`錯誤,可以通過判斷錯誤碼來判斷文件或目錄是否存在。如果存在,則會返回`fs.Stats`對象,可以通過該對象的屬性來獲取文件或目錄的詳細信息。 ~~~ const fs = require('fs'); fs.stat('/path/to/file', (err, stats) => { if (err) { if (err.code === 'ENOENT') { console.log('File not found'); } else { console.error(err); } } else { console.log(stats); } }); ~~~ >[danger] ##### 案例 ~~~ const fs = require('fs') // 獲取文件類型 fs.stat('./test.js', (err, stats) => { if (err) { console.log(err) } else { console.log(stats.isFile()) // true console.log(stats.isDirectory()) // false console.log(stats) // false } }) ~~~ * 打印結果 ~~~ Stats { dev: 1320529684, mode: 33206, nlink: 1, uid: 0, gid: 0, rdev: 0, blksize: 4096, ino: 281474977770454, size: 258, blocks: 8, atimeMs: 1681265118474.2537, mtimeMs: 1681265113121.3955, ctimeMs: 1681265113121.3955, birthtimeMs: 1679989091154.562, atime: 2023-04-12T02:05:18.474Z, mtime: 2023-04-12T02:05:13.121Z, ctime: 2023-04-12T02:05:13.121Z, birthtime: 2023-03-28T07:38:11.155Z } ~~~ >[danger] ### fs.statSync(path\[, options\]) 1. 在使用`fs.statSync()`方法時,需要傳入文件或目錄的路徑作為第一個參數`path`。如果需要指定可選項,則可以傳入一個包含`bigint`和`throwIfNoEntry`字段的可選項對象作為第二個參數`options`。`options.bigint`字段用于指定返回的`fs.Stats`對象中的數值是否應為`bigint`,默認值為`false`,即返回普通數字。`options.throwIfNoEntry`字段用于指定如果文件系統條目不存在,方法是否會拋出異常,而不是返回`undefined`,默認值為`true`。 | 參數名 | 類型 | 描述 | 默認值 | | --- | --- | --- | --- | | `path` | string | Buffer | URL | 文件或目錄的路徑。 | 無 | | `options` | Object | 可選項對象,包含以下字段: | `{ bigint: false, throwIfNoEntry: true }` | | `options.bigint` | boolean | 返回的`fs.Stats`對象中的數值是否應為`bigint`。 | `false` | | `options.throwIfNoEntry` | boolean | 如果文件系統條目不存在,是否會拋出異常,而不是返回`undefined`。 | `true` | >[danger] ##### 案例 ~~~ const fs = require('fs'); try { const stats = fs.statSync('/path/to/file'); console.log(stats.isFile()) // true console.log(stats.isDirectory()) // false console.log(stats); } catch (err) { console.error(err); } ~~~ >[danger] ### fs.existsSync(path) 路徑的文件或目錄是否存在 1. `fs.existsSync(path)`是 Node.js 中的一個同步方法,用于檢查指定的文件或目錄是否存在。它接受一個文件或目錄的路徑作為參數,如果該路徑表示的文件或目錄存在,則返回 true,否則返回 false。 2. 這是一個同步方法,會阻塞代碼的執行,因此在進行文件或目錄檢查的時候,建議使用異步方法,如`fs.stat()` >[danger] ##### 案例 ~~~javascript const fs = require('fs'); // 檢查文件是否存在 const fileExists = fs.existsSync('/path/to/file.txt'); console.log(fileExists); // true 或 false // 檢查目錄是否存在 const dirExists = fs.existsSync('/path/to/dir'); console.log(dirExists); // true 或 false ~~~ >[danger] ### fs.fstat(fd[, options], callback) 1. `fs.fstat(fd[, options], callback)`是 Node.js 中用于獲取文件描述符所指向的文件的元數據的方法。它是一個異步方法,可以用于獲取文件的大小、創建時間、修改時間等信息。 >[danger] ##### api 介紹 `fs.fstat()`方法接受三個參數: * `fd`:文件描述符,由`fs.open()`或`fs.openSync()`方法返回。 * `options`:一個可選的對象,用于指定一些選項。目前支持的選項包括`bigint`,如果設置為`true`,則返回的文件大小將以`BigInt`類型表示,否則將以普通的`Number`類型表示。默認值為`false`。 * `callback`:一個回調函數,用于處理獲取到的元數據。回調函數接受兩個參數,第一個參數是可能發生的錯誤,第二個參數是包含文件元數據的`fs.Stats`對象。 >[danger] ##### 案例 ~~~ const fs = require('fs'); // 打開文件并獲取文件描述符 fs.open('/path/to/file.txt', 'r', (err, fd) => { if (err) throw err; // 獲取文件元數據 fs.fstat(fd, (err, stats) => { if (err) throw err; // 打印文件大小和修改時間 console.log(`文件大小:${stats.size} 字節`); console.log(`修改時間:${stats.mtime}`); // 關閉文件描述符 fs.close(fd, (err) => { if (err) throw err; }); }); }); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看