Sentry Answers>Node.js>

Check if a file or directory exists synchronously in Node.js

Check if a file or directory exists synchronously in Node.js

David Y.

The Problem

How can I check synchronously if a file or directory exists in Node.js?

The Solution

The function fs.existsSync() can be used to synchronously check if a file or directory exists. The asynchronous version of this function, fs.exists(), is deprecated, but fs.existsSync() will still work.

Example usage:

Click to Copy
const fs = require("fs"); if (fs.existsSync("/tmp/myfile")) { console.log("/tmp/myfile exists!"); } else { console.log("/tmp/myfile does not exist!"); }

Note that this function will return True if myfile is a file or a directory, as long as it exists. We can use fs.lstatSync() on the path to retrieve an fs.Stats object containing information about the path. This object has an isDirectory() method we can use:

Click to Copy
const fs = require("fs"); if (fs.existsSync("/tmp/myfile")) { console.log("/tmp/myfile exists!"); if (fs.lstatSync("/tmp/myfile").isDirectory()) { console.log("/tmp/myfile is a directory!"); } else { console.log("/tmp/myfile is a file!"); } } else { console.log("/tmp/myfile does not exist!"); }
  • SentryWorkshop: Debugging your Node.js Project With Sentry (opens in a new tab)
  • Syntax.fmListen to the Syntax Podcast (opens in a new tab)
  • Community SeriesIdentify, Trace, and Fix Endpoint Regression Issues (opens in a new tab)
  • ResourcesBackend Error Monitoring 101 (opens in a new tab)
  • Syntax.fm logo
    Listen to the Syntax Podcast (opens in a new tab)

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.