NodeJS: Prüfen, ob Datei existiert und lesbar ist (fs.exists()-Ersatz)

English Deutsch

Dies ist die beste Funktion, um zu prüfen, ob eine Datei existiert und lesbar ist in Node.js. Sie ist ein Ersatz für die veraltete fs.exists()-Funktion.

Reines Javascript:

fileExists.js
const fs = require('fs').promises;

async function fileExistsAndIsReadable(path) {
  try {
    await fs.access(path, fs.constants.F_OK | fs.constants.R_OK);
    return true;
  } catch (err) {
    return false;
  }
}

oder mit TypeScript:

fileExists.ts
import { access, constants } from 'fs/promises';
import { PathLike } from 'fs';

export async function fileExistsAndIsReadable(path: PathLike): Promise<boolean> {
  try {
    await access(path, constants.F_OK | constants.R_OK);
    return true;
  } catch (err) {
    return false;
  }
}

Verwendungsbeispiel:

fileExists_usage.js
// Verwendungsbeispiel:
const path = 'path/to/your/file.txt';

fileExistsAndIsReadable(path)
  .then((result) => {
    if (result) {
      console.log('Datei existiert und ist lesbar');
    } else {
      console.log('Datei existiert nicht oder ist nicht lesbar');
    }
  })
  .catch((err) => {
    console.error('Ein unerwarteter Fehler ist aufgetreten', err);
  });

Check out similar posts by category: NodeJS