প্রোলগে ফাইল হ্যান্ডলিং বা ফাইল থেকে ডেটা পড়া এবং লেখা করার জন্য কিছু বিল্ট-ইন প্রেডিকেট রয়েছে, যা আপনার প্রোগ্রামে ফাইল ম্যানিপুলেশন সহজ করে তোলে। আপনি ফাইলের মধ্যে ডেটা পড়তে, লিখতে, আপডেট করতে এবং ফাইল সংক্রান্ত অন্যান্য কাজগুলো করতে পারেন।
প্রোলগে ফাইল হ্যান্ডলিং এর মৌলিক প্রেডিকেটস:
- open/3: একটি ফাইল খুলতে ব্যবহৃত হয়।
- read/2: ফাইল থেকে ডেটা পড়তে ব্যবহৃত হয়।
- write/2: ফাইলে ডেটা লিখতে ব্যবহৃত হয়।
- close/1: ফাইল বন্ধ করতে ব্যবহৃত হয়।
ফাইল থেকে ডেটা পড়া (Reading from Files)
প্রোলগে ফাইল থেকে ডেটা পড়তে open/3 প্রেডিকেটটি ব্যবহার করা হয়। এই প্রেডিকেটটি ফাইলটি খুলে আপনাকে একটি স্ট্রীম (stream) প্রদান করে, যা আপনি read/2 প্রেডিকেটের মাধ্যমে পড়তে পারেন।
ফাইল থেকে ডেটা পড়ার প্রক্রিয়া:
- open/3: ফাইলটি ওপেন করার জন্য।
- read/2: ফাইল থেকে ডেটা পড়ার জন্য।
- close/1: ফাইল বন্ধ করার জন্য।
ফাইল থেকে ডেটা পড়ার উদাহরণ:
ধরা যাক, একটি ফাইল আছে data.txt নামে যার মধ্যে কিছু তথ্য রয়েছে। আমরা এই তথ্যটি পড়তে চাই।
ফাইল তৈরি করা (data.txt):
প্রোলগ একটি লজিক্যাল প্রোগ্রামিং ভাষা।
এটি ডিক্লারেটিভ পদ্ধতিতে কাজ করে।
ফাইল হ্যান্ডলিং সহজে করা যায় প্রোলগে।ফাইল থেকে ডেটা পড়ার কোড:
পড়া :-
open('data.txt', read, Stream), % ফাইল ওপেন করা
read(Stream, Line), % ফাইল থেকে একটি লাইন পড়া
write(Line), % লাইনটি প্রদর্শন করা
nl, % নতুন লাইন
close(Stream). % ফাইল বন্ধ করাএখানে:
open('data.txt', read, Stream)ফাইলdata.txtপড়ার জন্য খুলবে।read(Stream, Line)একটি লাইন ফাইল থেকে পড়বে।write(Line)প্রাপ্ত লাইনের কন্টেন্ট প্রদর্শন করবে।close(Stream)ফাইলটি বন্ধ করবে।
কোয়ারি:
?- পড়া.আউটপুট:
'প্রোলগ একটি লজিক্যাল প্রোগ্রামিং ভাষা।'ফাইলে ডেটা লেখা (Writing to Files)
ফাইলে ডেটা লেখার জন্য open/3 এবং write/2 প্রেডিকেট ব্যবহার করা হয়। প্রথমে ফাইলটি খুলতে হবে এবং তারপর write/2 ব্যবহার করে ডেটা লিখতে হবে।
ফাইলে ডেটা লেখার প্রক্রিয়া:
- open/3: ফাইল লেখার জন্য ওপেন করা।
- write/2: ডেটা লিখা।
- close/1: ফাইল বন্ধ করা।
ফাইলে ডেটা লেখার উদাহরণ:
লেখা :-
open('output.txt', write, Stream), % ফাইল ওপেন করা
write(Stream, 'প্রোলগে ফাইল লেখার উদাহরণ।'), % ফাইলে লেখা
nl(Stream), % নতুন লাইন
write(Stream, 'এটি একটি নতুন লাইন।'),
close(Stream). % ফাইল বন্ধ করাএখানে:
open('output.txt', write, Stream)ফাইলটি লেখার জন্য খোলা হবে।write(Stream, 'প্রোলগে ফাইল লেখার উদাহরণ।')ফাইলে ডেটা লেখা হবে।nl(Stream)নতুন লাইন লিখবে।close(Stream)ফাইল বন্ধ করবে।
এটি output.txt ফাইলে লেখার জন্য ব্যবহার করা হবে।
কোয়ারি:
?- লেখা.এটি output.txt ফাইলে নিম্নলিখিত তথ্য লেখে:
প্রোলগে ফাইল লেখার উদাহরণ।
এটি একটি নতুন লাইন।ফাইলে ডেটা পড়া এবং লেখা (Reading and Writing)
প্রোলগে আপনি একই সাথে ফাইলে ডেটা পড়তে এবং লিখতে পারেন, তবে নিশ্চিত হতে হবে যে ফাইলটি সঠিকভাবে ওপেন এবং ক্লোজ করা হচ্ছে।
ফাইলে ডেটা পড়া এবং লেখা উদাহরণ:
পড়া_এবং_লেখা :-
open('data.txt', read, InputStream), % ফাইল ওপেন করা (পড়া)
open('output.txt', write, OutputStream), % ফাইল ওপেন করা (লেখা)
repeat, % লুপ শুরু
read(InputStream, Line), % ফাইল থেকে একটি লাইন পড়া
( Line == end_of_file % যদি শেষ লাইন হয়
-> true % বের হওয়া
; write(OutputStream, Line), nl(OutputStream), % লেখা
fail % পুনরায় পড়া
),
close(InputStream), % ইনপুট ফাইল বন্ধ
close(OutputStream). % আউটপুট ফাইল বন্ধএখানে:
- প্রথমে
data.txtফাইলটি পড়া হবে। output.txtফাইলের মধ্যেdata.txtএর কনটেন্ট লেখা হবে।- যখন
end_of_fileপাওয়া যাবে, তখন প্রোগ্রামটি শেষ হবে।
কোয়ারি:
?- পড়া_এবং_লেখা.এটি data.txt এর সমস্ত ডেটা output.txt তে লিখে দিবে।
সারসংক্ষেপ:
প্রোলগে ফাইল হ্যান্ডলিং খুবই সহজ এবং শক্তিশালী। ফাইল থেকে ডেটা পড়া এবং লেখা করার জন্য আমরা open/3, read/2, write/2, এবং close/1 প্রেডিকেট ব্যবহার করি। ফাইল অপারেশনগুলো সঠিকভাবে সম্পাদন করতে স্ট্রীম ব্যবহার করা হয়, যা ফাইলের মধ্যে ডেটা প্রবাহ নিয়ন্ত্রণ করে। এই প্রক্রিয়া ব্যবহার করে আপনি টেক্সট ফাইলগুলোতে ডেটা সংরক্ষণ এবং বিশ্লেষণ করতে পারবেন।
Read more