JavaScript:
ディレクトリが存在するかどうかの確認
方法:
JavaScript自体はファイルシステムに直接アクセスする機能がないため、Node.jsでは典型的にfs
モジュールがこのような操作に使用されます。以下はfs.existsSync()
を使用してディレクトリが存在するかどうかを確認する簡単な方法です:
const fs = require('fs');
const directoryPath = './sample-directory';
// ディレクトリが存在するか確認
if (fs.existsSync(directoryPath)) {
console.log('ディレクトリは存在します。');
} else {
console.log('ディレクトリは存在しません。');
}
サンプル出力:
ディレクトリは存在します。
または、ブロッキングされない非同期アプローチにはfs.promises
とasync/await
を使用します:
const fs = require('fs').promises;
async function checkDirectory(directoryPath) {
try {
await fs.access(directoryPath);
console.log('ディレクトリは存在します。');
} catch (error) {
console.log('ディレクトリは存在しません。');
}
}
checkDirectory('./sample-directory');
サンプル出力:
ディレクトリは存在します。
ファイルやディレクトリの操作を頻繁に使用するプロジェクトのために、ネイティブfs
モジュールの拡張であり、便利な追加メソッドを提供するfs-extra
パッケージがあります。以下はfs-extra
を使用して同じことを実現する方法です:
const fs = require('fs-extra');
const directoryPath = './sample-directory';
// ディレクトリが存在するか確認
fs.pathExists(directoryPath)
.then(exists => console.log(exists ? 'ディレクトリは存在します。' : 'ディレクトリは存在しません。'))
.catch(err => console.error(err));
サンプル出力:
ディレクトリは存在します。
このアプローチにより、モダンなJavaScriptプラクティスとシームレスに統合される、クリーンで読みやすいコードを実現できます。