📌  相关文章
📜  检查路径是否为文件夹 js - Javascript (1)

📅  最后修改于: 2023-12-03 15:26:50.100000             🧑  作者: Mango

检查路径是否为文件夹 - JS

在JavaScript中,我们可以使用Node.js内置的fs模块来检查一个给定路径是否为文件夹(也叫目录)。这个模块提供了几个方法,其中包括statSync()和stat(),它们都可以用来查看文件或目录的属性。

使用statSync()方法

如果你想在同步代码中检查一个路径是否为目录,可以使用fs.statSync()方法。

const fs = require('fs');
const path = '/Users/username/Documents/';

try {
  const stats = fs.statSync(path);
  const isDirectory = stats.isDirectory();
  console.log(`Is directory? ${isDirectory}`);
} catch (err) {
  console.error(err);
}

在上面的代码中,我们首先引入了fs模块和要检查的路径。然后我们使用try-catch语句块来捕捉任何可能的错误。接下来,我们使用fs.statSync()方法来获取路径的属性。最后,我们使用isDirectory()方法来检查路径是否为一个目录。如果路径是目录,则isDirectory()方法返回true,否则返回false。

使用stat()方法

如果你想在异步代码中检查路径是否为目录,可以使用fs.stat()方法。

const fs = require('fs');
const path = '/Users/username/Documents/';

fs.stat(path, (err, stats) => {
  if (err) {
    console.error(err);
    return;
  }
  const isDirectory = stats.isDirectory();
  console.log(`Is directory? ${isDirectory}`);
});

在上面的代码中,我们使用了fs.stat()方法来获取路径的属性。它接受一个回调函数作为参数,这个函数的第一个参数是可能发生的错误,第二个参数是路径的属性。如果有错误发生,我们会将它记录到控制台上,否则,我们使用isDirectory()方法来检查路径是否为目录。

总结

通过使用fs模块中的statSync()和stat()方法,我们可以检查一个给定路径是否为目录。如果你只是需要检查一个路径是否为目录,并不需要读取它的内容,这两个方法都是很好的选择。