Node.js-এ ফাইল সিস্টেম ম্যানিপুলেট করার জন্য একটি বেসিক গাইড

Node.js-এ ফাইল সিস্টেম ম্যানিপুলেট করার জন্য একটি বেসিক গাইড

Node.js-এর অন্তর্নির্মিত বৈশিষ্ট্যগুলির মধ্যে একটি হল fs মডিউল ব্যবহার করে অপারেটিং সিস্টেমের ফাইল সিস্টেমের ম্যানিপুলেশন। এই Node.js মডিউলটিতে ফাইল এবং ডিরেক্টরির সাথে কাজ করার জন্য অনেক দরকারী ফাংশন রয়েছে।





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





দিনের মেকইউজের ভিডিও

সুতরাং, একটি ফাইল সিস্টেম কি, এবং কিভাবে আপনি Node.js-এ একটি অপারেটিং সিস্টেমের ফাইল সিস্টেমের সাথে সহজেই যোগাযোগ করতে পারেন?





একটি ফাইল সিস্টেম কি?

একটি ফাইল সিস্টেম সংজ্ঞায়িত করে কিভাবে একটি অপারেটিং সিস্টেম অন্যান্য ক্রিয়াকলাপের সাথে ফাইলগুলি সনাক্ত, সংগঠিত, সংরক্ষণ এবং অ্যাক্সেস করতে পারে।

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



ফাইল সিস্টেমের কিছু উদাহরণের মধ্যে রয়েছে নিউ টেকনোলজি ফাইল সিস্টেম (এনটিএফএস), ইউনিক্স ফাইল সিস্টেম (ইউএফএস), এবং হায়ারার্কিক্যাল ফাইল সিস্টেম (এইচএফএস)।

Node.js fs মডিউল কি?

Node.js fs মডিউল হল একটি অন্তর্নির্মিত লাইব্রেরি যা Node.js দ্বারা সরবরাহ করা হয়েছে যে কোন অপারেটিং সিস্টেমের ফাইল সিস্টেমের সাথে কাজ করার জন্য যা নোড সমর্থন করে। দ্য fs মডিউল সহজে অ্যাক্সেসযোগ্য এবং ফাইল অপারেশনের জন্য যেতে যেতে লাইব্রেরি ফাইল থেকে পড়া বা Node.js-এ ফাইলগুলিতে ডেটা লেখা .





কোডিং এর মাধ্যমে কিভাবে অর্থ উপার্জন করা যায়

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

// CommonJS 
const fs = require('fs')

// ES6
import fs from 'fs'

Node.js পাথ মডিউল কি?

আপনি Node.js ব্যবহার করতে পারেন পথ ফাইল পাথ ম্যানিপুলেট করার জন্য মডিউল। এটি ফাইল এবং ডিরেক্টরি পাথগুলির সাথে সহজেই ইন্টারঅ্যাক্ট করার জন্য ইউটিলিটিগুলি অন্তর্ভুক্ত করে। ব্যবহার করে fs এবং পথ একটি টাস্ক সম্পূর্ণ করার জন্য টেন্ডেম মডিউল হল আদর্শ অনুশীলন। এর কারণ হল সংখ্যাগরিষ্ঠ fs মডিউল ফাংশন টার্গেট ফাইল বা ফাংশন ডিরেক্টরির পাথ উপর নির্ভর করে।





আপনি আমদানি করতে পারেন পথ নীচের সিনট্যাক্স সহ আপনার কোডে মডিউল করুন:

// CommonJS 
const path = require('path')

// ES6
import path from 'path'

Node.js-এ ফাইল সিস্টেম অ্যাক্সেস করার জন্য সাধারণ ফাংশন

এখানে সবচেয়ে বেশি ব্যবহৃত Node.js আছে fs এবং পথ মডিউল ফাংশন, এবং ফাইল এবং ডিরেক্টরিগুলির সাথে ইন্টারঅ্যাক্ট করতে কীভাবে সেগুলি ব্যবহার করতে হয়।

পাথ নিয়ে কাজ করা

  1. path.resolve: এটি প্যারামিটার হিসাবে পাস করা পাথ নির্দেশাবলীর একটি তালিকা থেকে একটি পাথ সমাধান করার ফাংশন। উদাহরণস্বরূপ:
    path.resolve('home', 'projects', 'web'); 
    // returns <path_to_current_directory>/home/projects/web

    path.resolve('home/projects/web', '../mobile');
    // returns <path_to_current_directory>/home/projects/mobile
  2. path.normalize: দ্য স্বাভাবিক করা ফাংশন একটি প্রদত্ত ইনপুট পাথ থেকে সঠিক এবং স্বাভাবিক পথ ফেরত দেয়। যেমন:
    path.normalize('home/projects/web/../mobile/./code'); 
    // returns home/projects/mobile/code
  3. path.join: এই ফাংশনটি বেশ কয়েকটি সেগমেন্টের মধ্যে একটি পথ তৈরি করে। যেমন:
    path.join('home', 'projects', '../', 'movies'); 
    // returns home/movies
  4. path.basename: দ্য ভিত্তি নাম ফাংশন চূড়ান্ত পাথ সেগমেন্ট প্রদান করে। আপনি এটি দুটি উপায়ে ব্যবহার করতে পারেন:
    path.basename('home/projects/web/index.js'); 
    // returns index.js

    path.basename('home/projects/web/index.js', '.js');
    // removes the extension and returns 'index'
  5. path.dirname: এই ফাংশনটি একটি প্রদত্ত পাথের শেষ ডিরেক্টরিতে পাথ ফেরত দেয়। উদাহরণ:
    path.dirname('home/projects/web/index.js'); 
    // returns home/projects/web
  6. path.extname: এই ফাংশনের সাহায্যে, আপনি একটি প্রদত্ত পথ থেকে একটি ফাইলের এক্সটেনশন পেতে পারেন৷
    path.extname('home/projects/web/index.js'); 
    // returns '.js'

ফাইল খোলা এবং বন্ধ করা

  1. fs.open: এটি Node.js-এ সিঙ্ক্রোনাসভাবে একটি ফাইল খোলার বা তৈরি করার ফাংশন। এর সিঙ্ক্রোনাস ফর্ম fs.open হয় fs.openSync . fs. open a ফাইল পাথ, ফ্ল্যাগ, ওপেন মোড এবং একটি কলব্যাক ফাংশন হল চারটি আর্গুমেন্ট গ্রহণ করে। পতাকা এবং খোলা মোড একটি ডিফল্ট মান আছে, এবং আপনি থেকে সেগুলি সম্পর্কে আরও জানতে পারেন Node.js fs.open ডকুমেন্টেশন।
    const filePath = path.join(__dirname, '/videos/newVideo.mp4'); 
    // __dirname returns the path to the current working directory.
    // filePath = <path_to_current_directory>/videos/newVideo.mp4

    fs.open(filePath, (error, fileDescriptor) => {
    // handle errors
    console.log(fileDescriptor); // prints an integer representing the file descriptor
    })
  2. fs.close: কোনো খোলা ফাইল যখন আর প্রয়োজন হয় না তখন সবসময় বন্ধ করা ভালো অভ্যাস। Node.js আছে fs.close এর জন্য ফাংশন:
    fs.open(filePath, (error, fileDescriptor) => { 
    // handle errors, such as 'file/directory does not exist'
    console.log(fileDescriptor);

    // close the file
    fs.close(fileDescriptor, (error) => {
    // handle errors
    console.log('File closed successfully');
    });
    })

তৈরি করা এবং মুছে ফেলা

  1. fs.mkdir: এই ঠিক মত কাজ করে mkdir টার্মিনাল কমান্ড যা একটি নতুন ডিরেক্টরি তৈরি করে। এটি একটি পাথ, মোড (ঐচ্ছিক), এবং পরামিতি হিসাবে কলব্যাক ফাংশন নেয়। আপনি এটি এভাবে ব্যবহার করতে পারেন:
    const dirPath = path.join(__dirname, 'newDirectory'); 
    fs.mkdir(dirPath, (error) => {
    // handle errors
    console.log('New directory created successfully');
    });
  2. fs.unlink: এই ফাংশনটি আর্গুমেন্ট হিসাবে পাস করা পাথে ফাইলটিকে সরিয়ে দেয় বা মুছে দেয়। নীচের কোড উদাহরণ বিবেচনা করুন:
    const filePath = path.join(_dirname, 'oldFile.js'); 

    fs.unlink(filePath, (error) => {
    // handle errors
    console.log('File has been deleted successfully');
    });
  3. fs.rmdir: এই পদ্ধতিটি একটি প্রদত্ত পাথে ডিরেক্টরি মুছে দেয়। এটি আনলিঙ্ক পদ্ধতির ব্যবহারে খুবই অনুরূপ:
    const dirPath = path.resolve('home', 'projects', 'web'); 

    fs.rmdir(dirPath, (error) => {
    // handle errors
    console.log('Directory successfully deleted');
    })

ফাইল মেটাডেটা

  1. fs.exists: দ্য বিদ্যমান পদ্ধতিটি একটি প্রদত্ত পাথে ফাইলটি বিদ্যমান কিনা তা পরীক্ষা করে। বাস্তবায়ন নিম্নরূপ:
    let filePath = path.join(__dirname, 'index.html'); 

    fs.exists(filePath, (exists) => {
    console.log(exists) // true or false
    })
  2. fs.stat: এটি একটি সিঙ্ক্রোনাস ফাংশন যা একটি ফাইলের বৈশিষ্ট্য প্রদান করে। এটি একটি ফেরত দেয় fs. পরিসংখ্যান বস্তু যা ফাইলের বৈশিষ্ট্যগুলি অ্যাক্সেস করার জন্য কিছু পদ্ধতি প্রকাশ করে। এখানে একটি উদাহরণ:
    fs.stat('index.js', (error, stats) => { 
    console.log(stats); // prints low level properties of the file
    stats.isFile(); // returns true
    stats.isDirectory(); // returns false
    })