Node.js-এ কিভাবে প্রদত্ত পাথ একটি ফাইল বা ডিরেক্টরি সনাক্ত করবেন?

Node Js E Kibhabe Pradatta Patha Ekati Pha Ila Ba Direktari Sanakta Karabena



ফাইল সত্তা সনাক্ত করা গুরুত্বপূর্ণ বিশেষত যখন আপনার অ্যাপ্লিকেশনগুলি একটি ফাইল পরিচালনার সাথে ডিল করে বা নির্দিষ্ট ডিরেক্টরিগুলিতে ব্যবহারকারীর ডেটা সঞ্চয় করে। কারণ একক ডিরেক্টরি বিভিন্ন ফাইল ধারণ করতে পারে যে ক্রিয়াকলাপ এটিতে প্রয়োগ করা যেতে পারে অন্য ডিরেক্টরিতে ফাইলের স্থানান্তর বা সমস্ত অবশিষ্ট ফাইল মুছে ফেলার সাথে জড়িত।

এটি একটি ফাইলের সাথেও যায়, এর ক্রিয়াকলাপগুলির মধ্যে ফাইলটি সংশোধন করা, ফাইলটিতে ডেটা সন্নিবেশ করা বা একটি একক মুছে ফেলা অন্তর্ভুক্ত থাকতে পারে। ডেভেলপার যদি ডিরেক্টরির উপর ফাইল ক্রিয়াকলাপ প্রয়োগ করে বা তদ্বিপরীত করে তবে পুরো অ্যাপ্লিকেশনটি বিশৃঙ্খল হয়ে যাবে।

এই নিবন্ধটি এই পদ্ধতিগুলি কভার করে প্রদত্ত পথটি একটি ফাইল বা একটি ডিরেক্টরি কিনা তা সনাক্ত করার পদ্ধতিগুলি ব্যাখ্যা করবে:







Node.js-এ কিভাবে প্রদত্ত পাথ একটি ফাইল বা ডিরেক্টরি সনাক্ত করবেন?

দুটি পদ্ধতি আছে ' fs 'মডিউল যথা' isDirectory() ' এবং ' isFile() যা প্রদত্ত পথ একটি ফাইল বা ডিরেক্টরির দিকে নিয়ে যায় কিনা তা পরীক্ষা করার একমাত্র উদ্দেশ্য। এই পদ্ধতিগুলি সিঙ্ক্রোনাস এবং অ্যাসিঙ্ক্রোনাস উভয় পরিস্থিতিতেই ব্যবহার করা হয় ' statSync() ' এবং ' stat() 'পদ্ধতি। প্রদত্ত পথটি একটি ফাইল বা ডিরেক্টরিতে নিয়ে যায় কিনা তা সনাক্ত করতে এই দুটি পদ্ধতি নীচে প্রদর্শিত হয়েছে।



পদ্ধতি 1: 'statSync()' পদ্ধতিটি সনাক্ত করার পথ নির্দেশিকা বা ফাইলের দিকে নিয়ে যায়

দ্য ' statSync() ' পদ্ধতি দ্বারা প্রদত্ত ' fs 'মডিউল মূলত সিঙ্ক্রোনাস অপারেশন সঞ্চালনের জন্য ব্যবহৃত হয়। আমাদের ক্ষেত্রে এই পদ্ধতিটি শুধুমাত্র একবার প্রদত্ত পথের উদাহরণ সঞ্চয় করে। তারপর, এটি বরাদ্দ করে ' isDirectory() ' এবং ' isFile() ' নির্দিষ্ট পথ একটি ডিরেক্টরি বা ফাইলের দিকে নিয়ে যায় কিনা তা ফেরত দেওয়ার পদ্ধতি।



'statSync()' পদ্ধতির ব্যবহারিক বাস্তবায়নের জন্য নিচের কোড স্নিপেটটি দেখুন:





const fsObj = প্রয়োজন ( 'এফএস' ) ;

pathFile যাক = fsObj. statSync ( '/Users/kahou/Documents/readlineProj/mcu.db' ) ;

কনসোল লগ ( 'একটি ফাইলে পথ বাড়ে দেওয়া হয়? ' + pathFile. isFile ( ) ) ;

pathDir = fsObj. statSync ( '/Users/kahou/Documents/readlineProj' ) ;

কনসোল লগ ( 'একটি ডিরেক্টরিতে পথ বাড়ে প্রদান করা হয়? ' + pathDir isDirectory ( ) ) ;

উপরে-প্রদত্ত কোডের ব্যাখ্যা নীচে দেওয়া হল:

  • প্রথমে, আমদানি করুন ' fs 'মডিউল এবং একটি 'এ এর উদাহরণ সংরক্ষণ করুন fsObj ' পরিবর্তনশীল।
  • তারপর, আহ্বান করুন ' statSync() 'পদ্ধতি ব্যবহার করে' fsObj ” ভেরিয়েবল এবং এর বন্ধনীর ভিতরে নির্বাচিত পথটি পাস করুন। এই পথের রেফারেন্স 'এর ভিতরে সংরক্ষণ করুন pathFile ' পরিবর্তনশীল।
  • এরপরে, বরাদ্দ করুন ' isFile() 'সহ পদ্ধতি' pathFile ” একটি বুলিয়ান মান ফেরত দিতে যা দেখাবে যে প্রদত্ত পথটি একটি ফাইলের দিকে নিয়ে যায় কি না।
  • এর পরে, আবার 'আহ্বান করুন' statSync() 'পদ্ধতি এবং নতুন পথ পাস.
  • অবশেষে, সংযুক্ত করুন ' isDirectory() 'এর দ্বারা প্রত্যাবর্তিত মান সহ পদ্ধতি স্টার্ট সিঙ্ক() 'পদ্ধতি।

এখন, নীচের কমান্ডটি ব্যবহার করে বর্তমান ফাইলটি চালান:



'নোড '

উদাহরণস্বরূপ, আমরা 'app.js' ফাইলটি কার্যকর করেছি:

আউটপুট 'এর মান দেখায় সত্য ” ফেরত দেওয়া হয় মানে প্রদত্ত পাথ ফোল্ডারের জন্য এবং ফাইলটি সনাক্ত করা হয়েছে।

পদ্ধতি 2: 'স্ট্যাট()' পদ্ধতিটি সনাক্ত করার পথ নির্দেশিকা বা ফাইলের দিকে নিয়ে যায়

আরেকটি পদ্ধতি যা অ্যাসিঙ্ক্রোনাস পরিবেশের জন্য পুরোপুরি কাজ করে যা ' stat() 'পদ্ধতি যা ' দ্বারা প্রদান করা হয় fs 'মডিউল। এটি একই ব্যবহার করে ' isFile() ' এবং ' isDirectory() ” পদ্ধতি কিন্তু এর অ্যাসিঙ্ক্রোনাস প্রকৃতির কারণে, একক পথ উভয় পদ্ধতিতে পাস করা যেতে পারে। এটির দুটি প্যারামিটার রয়েছে প্রথম একটি স্টোর পাথ এবং দ্বিতীয়টি হল একটি কলব্যাক ফাংশন যা প্রদত্ত পাথের উপর কিছু ক্রিয়াকলাপ সম্পাদন করে:

const fsObj = প্রয়োজন ( 'এফএস' ) ,
পরীক্ষাপথ = '/Users/kahou/Documents/readlineProj'

// stat() পদ্ধতি ব্যবহার করুন
fsObj. stat ( পরীক্ষাপথ , ( ত্রুটি , statObj ) => {
যদি ( ! ত্রুটি ) {
যদি ( statObj isFile ( ) ) {
কনসোল লগ ( ' \n হ্যাঁ! একটি ফাইলে পথ বাড়ে? ' ) ;
}
অন্য যদি ( statObj isDirectory ( ) ) {
কনসোল লগ ( ' \n হ্যাঁ! একটি ডিরেক্টরিতে পথ বাড়ে? ' ) ;
}
}
অন্য
নিক্ষেপ ত্রুটি ;
} ) ;

উপরে-প্রদত্ত কোডের ব্যাখ্যা নীচে দেখানো হয়েছে:

  • প্রথমে, আমদানি করুন ' fs 'মডিউল এবং একটি 'এ এর উদাহরণ সংরক্ষণ করুন fsObj ' পরিবর্তনশীল। একটা তৈরি কর ' পরীক্ষাপথ ” পরিবর্তনশীল যা পরীক্ষকের দ্বারা প্রদত্ত পথ সংরক্ষণ করে।
  • এখন, আহ্বান করুন ' stat() 'পদ্ধতি এবং পাস' পরীক্ষাপথ ” প্রথম প্যারামিটার হিসেবে এবং দ্বিতীয় প্যারামিটার হিসেবে একটি কলব্যাক ফাংশন।
  • কলব্যাক ফাংশনে রয়েছে ' ত্রুটি 'প্রথম প্যারামিটার হিসাবে এবং ' statObj 'দ্বিতীয় হিসাবে। দ্য ' ত্রুটি ” সম্পাদনের সময় উদ্ভূত ত্রুটি রয়েছে এবং “startObj”-এর প্রদত্ত পথ রয়েছে।
  • ফাংশনের ভিতরে, ব্যবহার করুন ' যদি কোন ত্রুটি পাওয়া না গেলে সঞ্চালিত বিবৃতি।
  • দ্য ' নেস্টেড যদি ' বিবৃতি ' বরাদ্দ করতে ব্যবহৃত হয় isFile() ' এবং ' isDirectory() 'সহ পদ্ধতি' statObj
  • যদি পদ্ধতিগুলি ফিরে আসে ' সত্য ” শুধুমাত্র তখনই সেই বিভাগটি কার্যকর হয় এবং সেই অনুযায়ী সাফল্যের বার্তাগুলি প্রদর্শন করে৷

উপরের স্ক্রিপ্টটি কার্যকর করার পরে, টার্মিনালটি এইরকম প্রদর্শিত হবে:

আপনি দেখতে পাচ্ছেন যে প্রদত্ত পথটি এখন সনাক্ত করা হয়েছে এবং প্রদত্ত পথটি একটি ডিরেক্টরিতে নিয়ে যায় তা নিশ্চিত করে।

উপসংহার

প্রদত্ত পথটি NodeJs-এ একটি ডিরেক্টরি বা ফাইলের পথ কিনা তা সনাক্ত করতে, 'এর পদ্ধতিগুলি isFile() ' এবং ' isDirectory ' ব্যবহৃত. এই পদ্ধতিগুলির দ্বারা অ্যাক্সেসযোগ্য পাথগুলি ' statSync() ' এবং ' stat() 'এর পদ্ধতি' fs ' NodeJs মডিউল। এই পদ্ধতিগুলি যথাক্রমে সিঙ্ক্রোনাস এবং অ্যাসিঙ্ক্রোনাস পদ্ধতিতে প্রদত্ত পাথগুলি সংরক্ষণ করে। প্রদত্ত পথটি NodeJS-এ ফাইল বা ডিরেক্টরিতে নিয়ে যায় কিনা তা সনাক্ত করার পদ্ধতিটি এই ব্লগটি ব্যাখ্যা করেছে।