これを行う方法を説明する検索結果は表示されません。Node.js pathがファイルかディレクトリかを確認してください
私がしたいのは、指定されたパスがファイルかディレクトリ(フォルダ)かどうかを知ることだけです。
これを行う方法を説明する検索結果は表示されません。Node.js pathがファイルかディレクトリかを確認してください
私がしたいのは、指定されたパスがファイルかディレクトリ(フォルダ)かどうかを知ることだけです。
fs.lstatSync(path_string).isDirectory()
を教えてください。 docs:
fs.stat()およびfs.lstat()から返されるオブジェクトはこのタイプです。ここで
stats.isFile() stats.isDirectory() stats.isBlockDevice() stats.isCharacterDevice() stats.isSymbolicLink() (only valid with fs.lstat()) stats.isFIFO() stats.isSocket()
は、パスがファイルまたはノードで推奨されるアプローチである非同期ディレクトリ、ある場合は、検出するであろう方法です。同期APIを使用している場合fs.lstat
const fs = require("fs");
let path = "/path/to/something";
fs.lstat(path, (err, stats) => {
if(err)
return console.log(err); //Handle error
console.log(`Is file: ${stats.isFile()}`);
console.log(`Is directory: ${stats.isDirectory()}`);
console.log(`Is symbolic link: ${stats.isSymbolicLink()}`);
console.log(`Is FIFO: ${stats.isFIFO()}`);
console.log(`Is socket: ${stats.isSocket()}`);
console.log(`Is character device: ${stats.isCharacterDevice()}`);
console.log(`Is block device: ${stats.isBlockDevice()}`);
});
注意を使用して :
任意の例外がスローされている同期のフォームを使用。 try/catchを使用して例外を処理したり、例外を処理したりすることができます。
try{
fs.lstatSync("/some/path").isDirectory()
}catch(e){
// Handle error
if(e.code == 'ENOENT'){
//no such file or directory
//do something
}else {
//do something else
}
}
あなたは、一般的なアプリケーションのパフォーマンスを心配している場合の非同期バージョンが通常好適であることに注意してください。 – AlexMA
ディレクトリまたはファイルが存在しない場合、エラーが返されることに注意してください。 –