📌  相关文章
📜  如何使用 Node.js 获取有关文件的信息?

📅  最后修改于: 2022-05-13 01:56:23.906000             🧑  作者: Mango

如何使用 Node.js 获取有关文件的信息?

Node.js 是基于 Chrome 的 V8 JavaScript 引擎构建的开源和跨平台运行时环境,用于在浏览器之外执行 JavaScript 代码。您需要记住 NodeJS 不是框架,也不是编程语言。在本文中,我们将讨论如何使用 Node.js 获取有关文件的信息

我们将使用Node.jsfs模块 提取有关文件的信息。 fs模块是一个内置模块。我们将使用 fs 模块的fs.stat()模块来获取与文件相关的所有信息。如果要获取有关上传文件的信息,那么我们可以使用 npm 包来处理它们,例如 multer,它可以处理所有不同类型的文件。让我们一步一步来。首先,在当前工作目录中创建一个要查看其信息的文件。

第 1 步:创建一个“ app.js ”文件并使用npm初始化您的项目。

npm init

第 2 步:在项目文件夹中创建一个 info.txt 文件。

项目结构:

项目/文件结构

app.js
//Importing fs module 
const fs = require("fs");
  
//stat methods takes path and a callback function as input
fs.stat("./info.txt", function(err, stats){
  
    //Checking for errors
   if(err){
       console.log(err)
   }
   else{
    //Logging the stats Object
   console.log(stats)
   }
});


使用以下命令运行app.js文件:

node app.js

现在在查看输出之前,让我们讨论一下 Stats 对象的属性:

  • dev:包含文件的设备的 ID。 (bigInt 或数字)
  • mode:给定文件的文件类型和模式的位域描述。 (bigInt 或数字)
  • nlink:文件的硬链接数。 (bigInt 或数字)
  • uid:文件所有者的用户 ID。 (bigInt 或数字)
  • gid:文件所有者的组 ID。 (bigInt 或数字)
  • rdev:文件的设备ID,如果它是一个特殊文件。 (bigInt 或数字)
  • blksize:文件系统输入/输出的块大小。 (bigInt 或数字)
  • ino:文件 inode 编号。它包含有关文件的基本信息。 (bigInt 或数字)
  • size:文件的总大小,以字节为单位。 (bigInt 或数字)
  • blocks:分配给给定文件的块数。 (bigInt 或数字)
  • atimeMs:表示文件最后访问时间的时间戳。 (bigInt 或数字)
  • mtimeMs:表示文件最后修改时间的时间戳。 (bigInt 或数字)
  • ctimeMs:表示文件上次更改时间的时间戳,即更改 inode 的时间。 (bigInt 或数字)
  • birthtimeMs:表示文件创建时间的时间戳。 (bigInt 或数字)
  • aTime:表示文件最后访问时间的 Date 对象。 (日期)
  • mTime:表示文件最后修改时间的 Date 对象。 (日期)
  • cTime:表示文件最后更改时间的 Date 对象。 (日期)
  • birthtime:表示文件创建时间的 Date 对象。 (日期)

输出:

输出

因此,通过使用 nodeJS 的文件系统,您可以获得有关本地文件系统中任何文件的所有必需信息。