File Handling: io.open, io.close, file:read, file:write

Input/Output Operations (ইনপুট/আউটপুট অপারেশন) - লুয়া (Lua) - Computer Programming

350

লুয়া (Lua) ভাষায় ফাইল হ্যান্ডলিংয়ের জন্য io লাইব্রেরি ব্যবহার করা হয়। এই লাইব্রেরির মাধ্যমে ফাইল ওপেন, রিড (পড়তে), রাইট (লিখতে), এবং ফাইল বন্ধ করার মতো কাজ করা যায়। এখানে আমরা ফাইল হ্যান্ডলিংয়ের জন্য ব্যবহৃত কয়েকটি প্রধান ফাংশন যেমন io.open, io.close, file:read, এবং file:write এর ব্যবহার দেখব।


১. io.open

io.open ফাংশন একটি ফাইল ওপেন করার জন্য ব্যবহৃত হয়। আপনি এটি দিয়ে একটি ফাইল ওপেন করতে পারেন, এবং তারপর ফাইলটিতে ডেটা পড়তে বা লিখতে পারেন। io.open দুটি আর্গুমেন্ট নেয়:

  • প্রথম আর্গুমেন্ট: ফাইলের পাথ (path) বা নাম।
  • দ্বিতীয় আর্গুমেন্ট: ফাইলটি কোন মোডে ওপেন হবে (রিড, রাইট, অ্যাপেন্ড, ইত্যাদি)।

উদাহরণ:

file = io.open("example.txt", "r")  -- ফাইল ওপেন করা রিড মোডে
if not file then
    print("File could not be opened!")
else
    print("File opened successfully!")
end

এখানে, "example.txt" ফাইলটি রিড মোডে ওপেন করা হয়েছে। যদি ফাইলটি না পাওয়া যায়, তাহলে file এর মান nil হবে, এবং একটি ত্রুটি বার্তা প্রদর্শিত হবে।


২. io.close

io.close ফাংশন ব্যবহার করে আপনি একটি ওপেন করা ফাইল বন্ধ করতে পারেন। ফাইলটি বন্ধ করা নিশ্চিত করে যে, ফাইলের সমস্ত ডেটা সঠিকভাবে সংরক্ষিত হয়েছে এবং কোনো লক বা রিসোর্স আর ব্যবহৃত হচ্ছে না।

উদাহরণ:

file = io.open("example.txt", "r")
if file then
    print("File opened successfully.")
    file:close()  -- ফাইল বন্ধ করা
    print("File closed.")
end

এখানে, ফাইলটি ওপেন করার পর তা ব্যবহার করা হয়েছে এবং শেষে file:close() দিয়ে ফাইলটি বন্ধ করা হয়েছে।


৩. file:read

file:read ফাংশন ব্যবহার করে আপনি ফাইল থেকে ডেটা পড়তে পারেন। এটি কয়েকটি ভিন্ন পদ্ধতিতে ব্যবহার করা যেতে পারে, যেমন:

  • "*a": পুরো ফাইল পড়বে।
  • "*l": এক লাইনে এক লাইন পড়বে।
  • n: নির্দিষ্ট সংখ্যক বাইট পড়বে।

উদাহরণ:

file = io.open("example.txt", "r")
if file then
    content = file:read("*a")  -- পুরো ফাইল পড়বে
    print(content)
    file:close()
end

এখানে, file:read("*a") দিয়ে "example.txt" ফাইলের পুরো কনটেন্ট পড়া হয়েছে এবং তা প্রিন্ট করা হয়েছে।


৪. file:write

file:write ফাংশন ব্যবহার করে আপনি ফাইলে ডেটা লিখতে পারেন। এটি বিভিন্ন ধরনের ডেটা (স্ট্রিং, সংখ্যা) লিখতে পারে। আপনি একাধিক আর্গুমেন্টও পাস করতে পারেন।

উদাহরণ:

file = io.open("example.txt", "w")  -- ফাইল ওপেন করা রাইট মোডে
if file then
    file:write("Hello, World!\n")
    file:write("This is a second line.\n")
    file:close()
end

এখানে, "example.txt" ফাইলটি রাইট মোডে ওপেন করা হয়েছে এবং দুটি লাইন লেখা হয়েছে। file:write দিয়ে স্ট্রিং ডেটা ফাইলে লেখা হচ্ছে।


সারসংক্ষেপ

লুয়া ভাষায় ফাইল হ্যান্ডলিংয়ের জন্য কয়েকটি মূল ফাংশন রয়েছে যা ফাইল ওপেন, রিড, রাইট এবং ক্লোজ করতে ব্যবহৃত হয়:

  • io.open: একটি ফাইল ওপেন করতে ব্যবহৃত হয়।
  • io.close: একটি ওপেন করা ফাইল বন্ধ করতে ব্যবহৃত হয়।
  • file:read: ফাইল থেকে ডেটা পড়তে ব্যবহৃত হয়।
  • file:write: ফাইলে ডেটা লিখতে ব্যবহৃত হয়।

এই ফাংশনগুলির মাধ্যমে আপনি লুয়া ভাষায় ফাইল ম্যানিপুলেশন এবং ডেটা পঠন/লিখন কার্যক্রম সহজেই পরিচালনা করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...