কম্পিউটার

রুবিতে ফাইলগুলি কীভাবে পড়তে এবং লিখতে হয় (উদাহরণ সহ)

আজ আপনি রুবিতে ফাইলগুলি পড়তে এবং লিখতে শিখবেন যাতে আপনি বিষয়বস্তু বের করতে, নতুন ফাইল তৈরি করতে এবং আপনার প্রয়োজনীয় তথ্য খুঁজে পেতে পারেন!

রুবিতে ফাইলগুলি কীভাবে পড়তে এবং লিখতে হয় (উদাহরণ সহ)

এখানে আমরা যা কভার করতে যাচ্ছি :

বিষয়বস্তু

  • 1 কিভাবে রুবিতে ফাইল পড়তে হয়
  • 2 রুবিতে একটি ফাইলে কীভাবে লিখবেন
  • 3 রুবি ফাইল পদ্ধতি
  • 4 ডিরেক্টরি অপারেশন
  • 5 কিভাবে FileUtils মডিউল ব্যবহার করবেন
  • 6 সারাংশ
    • 6.1 সম্পর্কিত

এটা করা যাক!

রুবিতে ফাইলগুলি কীভাবে পড়তে হয়

আপনি রুবিতে একটি ফাইল এইভাবে পড়তে পারেন:

  1. ফাইল খুলুন , open দিয়ে পদ্ধতি।
  2. ফাইলটি পড়ুন , পুরো ফাইল, লাইন বাই লাইন, বা নির্দিষ্ট পরিমাণ বাইট।
  3. ফাইলটি বন্ধ করুন৷ , close সহ পদ্ধতি।

এখানে বিস্তারিত প্রক্রিয়া আছে।

File ব্যবহার করুন একটি ফাইল খুলতে ক্লাস:

file =File.open("users.txt")

ফলস্বরূপ আপনি একটি File পাবেন অবজেক্ট, কিন্তু এখনও ফাইলের বিষয়বস্তু নয়।

এখন :

আপনি তিনটি উপায়ে ফাইলের বিষয়বস্তু পড়তে পারেন।

প্রথমে, আপনি পুরো ফাইলটি পড়তে পারেন।

এরকম :

file_data =file.read# "user1\nuser2\nuser3\n"

আপনি যদি এমন একটি ফাইল নিয়ে কাজ করছেন যাতে একাধিক লাইন রয়েছে আপনি হয় split করতে পারেন file_data , অথবা readlines ব্যবহার করুন পদ্ধতি প্লাস chomp নতুন লাইন অক্ষর অপসারণের পদ্ধতি।

উদাহরণ :

file_data =file.readlines.map(&:chomp)# ["user1", "user2", "user3"]

আপনি যখন একটি ফাইলের সাথে কাজ শেষ করেন তখন আপনি close করতে চান এটি মেমরি এবং সিস্টেম রিসোর্স খালি করতে।

এরকম :

file.close

ফাইল খুলতে এবং বন্ধ করার বিকল্প হিসেবে , আপনি File.read ব্যবহার করতে পারেন পদ্ধতি:

file_data =File.read("user.txt").split# ["user1", "user2", "user3"]

ফাইল পড়ার আরও একটি টিপ৷

আপনি যদি একটি ফাইল একবারে একটি লাইন প্রক্রিয়া করতে চান, আপনি foreach ব্যবহার করতে পারেন পদ্ধতি।

উদাহরণ :

File.foreach("users.txt") { |লাইন| লাইন রাখে 

পরিবর্তে পুরো ফাইলটি মেমরিতে পড়ার আপনি ফাইলটি একবারে একটি লাইন প্রক্রিয়া করতে সক্ষম হবেন, যা বড় ফাইলগুলির জন্য দরকারী৷

রুবিতে একটি ফাইলে কীভাবে লিখবেন

আপনি যদি রুবি ব্যবহার করে একটি ফাইলে লিখতে চান:

  1. ফাইলটি লেখার মোডে খুলুন (“w” পতাকা)
  2. write ব্যবহার করুন ফাইলে ডেটা যোগ করার পদ্ধতি
  3. যদি আপনি ব্লক সংস্করণটি ব্যবহার না করে থাকেন, তাহলে মনে রাখবেন close করতে

উদাহরণ :

File.open("log.txt", "w") { |f| f.write "#{Time.now} - ব্যবহারকারী লগ ইন করেছেন\n" }

গুরুত্বপূর্ণ :

এটি পূর্ববর্তী ফাইলের বিষয়বস্তু পুনরায় লিখবে!

আপনি যদি ফাইলটিতে নতুন বিষয়বস্তু যোগ করতে চান, তাহলে "w" (লিখুন) পতাকার পরিবর্তে "a" (সংযোজন) পতাকা ব্যবহার করুন।

একটি শর্টকাট হল File.write ব্যবহার করা :

File.write("log.txt", "data...")

এই পদ্ধতিটি অ্যাপেন্ড মোডে ব্যবহার করতে :

File.write("log.txt", "data...", mode:"a")

কোডের মাত্র এক লাইনে রুবিতে একটি ফাইলে লেখার এটাই সবচেয়ে সহজ উপায় 🙂

আর একটা জিনিস…

আপনি যদি একটি ফাইলে একটি অ্যারে লিখতে চান তবে আপনাকে প্রথমে এটিকে একটি স্ট্রিংয়ে রূপান্তর করতে হবে।

এখানে কিভাবে :

File.write("log.txt", [1,2,3].join("\n"), মোড:"a")

কোনো বস্তুকে স্ট্রিং-এ রূপান্তর করার এই প্রক্রিয়াকে বলা হয় ক্রমিককরণ।

রুবি ফাইল পদ্ধতি

আপনি ফাইলগুলিকে পড়া এবং লেখার পাশাপাশি অন্যান্য জিনিসগুলিও করতে পারেন৷

উদাহরণস্বরূপ, আপনি জানতে চাইতে পারেন যে একটি ফাইল বিদ্যমান কিনা৷ অথবা বর্তমান ডিরেক্টরির জন্য ফাইলগুলির একটি তালিকা পেতে৷

আপনি এর মত পদ্ধতি ব্যবহার করতে যাচ্ছেন :

  • নাম পরিবর্তন করুন
  • আকার
  • আছে?
  • extname
  • বেসনেম
  • dirname
  • ডিরেক্টরি?
  • ফাইল?

কয়েকটি উদাহরণ দেখা যাক :

# একটি ফাইলের নাম পরিবর্তন করা হচ্ছে ফাইলের নাম পরিবর্তন করা হচ্ছে ?("log.txt")# ফাইল এক্সটেনশন পান, ফাইলটি বিদ্যমান না থাকলেও এটি কাজ করে। basename("/tmp/ebook.pdf")# => "ebook.pdf"# ফাইল nameFile.dirname("/tmp/ebook.pdf")# => "/tmp" ছাড়া এই ফাইলটির জন্য পথ পান # এটি কি আসলে একটি ফাইল বা একটি ডিরেক্টরি? File.directory?("cats")

যদি আপনি একটি ডিরেক্টরি তালিকার বিষয়বস্তু লুপ করে থাকেন তাহলে শেষ উদাহরণটি আরও বোধগম্য হয়৷

def find_files_in_current_directory entries =Dir.entries(".") entries.reject { |entry| File.directory?(entry) }শেষ

আপনি একটি ফাইলের পরিসংখ্যানও পেতে পারেন, যেমন ফাইলের আকার, অনুমতি, তৈরির তারিখ, ইত্যাদি:

File.stat("/tmp")

ডিরেক্টরি অপারেশনস

Dir.glob ব্যবহার করে আপনি একটি নির্দিষ্ট প্যাটার্নের সাথে মেলে এমন সমস্ত ফাইলের একটি তালিকা পেতে পারেন।

এখানে কিছু উদাহরণ আছে:

# বর্তমান ডিরেক্টরির সকল ফাইলDir.glob("*")# nameDir.glob("*spec*")# এ "spec" ধারণকারী সমস্ত ফাইল প্রাক> 

কোডের এই এক লাইনটি বর্তমান ডিরেক্টরি থেকে শুরু করে রুবিতে সমস্ত ফাইলকে পুনরাবৃত্তভাবে তালিকাভুক্ত করবে :

Dir.glob("**/**")

আপনি শুধুমাত্র ডিরেক্টরি অনুসন্ধান করতে চাইলে এটি ব্যবহার করুন:

Dir.glob("**/**/")

Dir ক্লাস ব্যবহার করে বর্তমান কাজের ডিরেক্টরি প্রিন্ট করাও সম্ভব :

Dir.pwd

একটি ডিরেক্টরি খালি কিনা পরীক্ষা করুন:

Dir.Empty?("/tmp")# মিথ্যা

একটি ডিরেক্টরি বিদ্যমান কিনা পরীক্ষা করুন:

Dir.exists?("/home/jesus")# সত্য

একটি নতুন ডিরেক্টরি তৈরি করুন:

Dir.mkdir("/tmp/testing")

mktmpdir:

দিয়ে একটি অস্থায়ী ডিরেক্টরি তৈরি করুন
Dir.mktmpdir do |dir| File.write(dir + "/log.txt", "test")end

কিভাবে FileUtils মডিউল ব্যবহার করবেন

কিছু অতিরিক্ত ফাইল হ্যান্ডলিং ইউটিলিটি রয়েছে যা আপনি FileUtils মডিউলের মধ্যে অ্যাক্সেস পেতে পারেন৷

উদাহরণস্বরূপ, আপনি ফাইল তুলনা করতে পারেন৷ , একটি ফাইল স্পর্শ করুন (শেষ অ্যাক্সেস এবং পরিবর্তনের সময় আপডেট করতে ), অথবা cp_r দিয়ে ফাইল ও ডিরেক্টরি অনুলিপি করুন .

এরকম :

'fileutils'FileUtils.compare_file("a.txt", "b.txt")FileUtils.touch("/tmp/lock")FileUtils.cp_r("ডেটা", "ব্যাকআপ") প্রয়োজন

cp_r-এ “r” বিটিডব্লিউ "রিকারসিভ" এর জন্য দাঁড়ায়।

সারাংশ

আপনি File.read এর মত বিল্ট-ইন পদ্ধতি ব্যবহার করে রুবিতে ফাইল এবং ফোল্ডারগুলি পরিচালনা করতে শিখেছেন। &File.write .

পড়ার জন্য ধন্যবাদ!


  1. রুবি নির্বাচন পদ্ধতি কিভাবে ব্যবহার করবেন (উদাহরণ সহ)

  2. রুবি গ্রেপ পদ্ধতি কীভাবে ব্যবহার করবেন (উদাহরণ সহ)

  3. রুবি মানচিত্র পদ্ধতি কীভাবে ব্যবহার করবেন (উদাহরণ সহ)

  4. উইন্ডোজ 10 এ মেমরি ডাম্প ফাইলগুলি কীভাবে পড়বেন