मुझे कोई खोज परिणाम नहीं मिल रहा है जो यह बताता है कि यह कैसे करें।Node.js जांचें कि पथ फ़ाइल या निर्देशिका है
मैं बस इतना करना चाहता हूं कि कोई दिया गया पथ फ़ाइल या निर्देशिका (फ़ोल्डर) है या नहीं।
मुझे कोई खोज परिणाम नहीं मिल रहा है जो यह बताता है कि यह कैसे करें।Node.js जांचें कि पथ फ़ाइल या निर्देशिका है
मैं बस इतना करना चाहता हूं कि कोई दिया गया पथ फ़ाइल या निर्देशिका (फ़ोल्डर) है या नहीं।
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()
यहाँ अगर एक रास्ता एक फ़ाइल या एक निर्देशिका एसिंक्रोनस रूप, जो नोड में दृष्टिकोण की सिफारिश की है आप कैसे पता लगाने जाएगा। का उपयोग कर 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{
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
ध्यान रखें कि यदि निर्देशिका या फ़ाइल मौजूद नहीं है, तो आपको एक त्रुटि वापस मिल जाएगी। –