ফাইল
নিয়ে যত কথা
ফাইল
আমরা কেন ব্যবহার করি ? কারণ আমরা যে প্রোগ্রাম,
ভ্যারিয়েবল নিয়ে কাজ করে এসেছি সেগুলো যতক্ষন প্রোগ্রাম চলে ততক্ষন ই Exist করে। যেমনঃ আমরা
int
a=5;
int
b=3;
int
sum=a+b; //sum=8;
প্রোগ্রাম
শেষ ভ্যারিয়েবল গুলোর কাজ ও শেষ, এই প্রোগ্রাম যদি আবার রান করেন তাহলে আবার
sum=8 আসবে। আপনার sum এর ভ্যালু যে প্রথমবার
8 হয়েছিল এর পরের বার কিন্তু ঐটার কোনো কাজ
হল না। ফাইলের দরকারটা হয়ত ক্লিয়ার হলো না এই উদাহরণ থেকে।
ধরেন
আপনার একটা ব্যাংক অ্যাকাউন্ট আছে,
int
balance=1500;
int
withdraw=500;
balance=balance-withdraw; //$1000
অ্যাকাউন্টে ১৫০০ টাকা ছিল, ৫০০ টাকা উইথড্র করলেন,
তাহলে এখন থাকলো কত? ১০০০ টাকা, তাহলে এর পরের বার আপনার টাকার হিসাব ১০০০ টাকা থেকে
হউয়ার কথা ছিল, কিন্ত আপনি যদি আবার প্রোগ্রামটি রান করেন তাহলে আবার আপনাকে ১৫০০-৫০০=১০০০
টাকা ই দেখাবে।
আমারা
যখন কোনো প্রোগ্রাম রান করি তখন তার ভ্যারিয়েবল গুলো, অন্যান্য সিনট্যাক্স গুলো
RAM থেকে Memory নেয়, প্রোগ্রাম রান করা শেষ
RAM মেমোরির কাজ শেষ, তাই আমাদের এমন কোনো
Storage দরকার যেখানে প্রোগ্রাম রান শেষ হলেও আপডেটেড ডেটা গুলো থেকে যাবে, এবং আমরা
পুনরায় প্রোগ্রাম রান করতে চাইলে ঐ Storage থেকে ডেটা নিয়ে প্রসেস করতে পারব, এই কাজটা করার জন্য আমরা Secondary Memory বা হার্ড ডিস্ক ইউজ করি, হার্ড ডিস্কে ফাইল বানিয়ে
আমাদের ডেটা গুলা ফাইলে রাখব, ফাইল থেকে ডেটা
এক্সেস করব, আবার ডেটা প্রসেস করে ফাইলে রাখব।
আমরা
আমাদের জাভা প্রোগ্রাম থেকে ফাইল এক্সেস করব, এটা কি আমি , আপনি মনে মনে চিন্তা করলেই
হয়ে যাবে , নাকি কোড লিখা লাগবে? তাই এরপর কোন কোড লিখলে কি কাজ হয় এগুলা দেখার চেষ্টা
করব ইনশাল্লাহ।
java.io
একটা প্যাকেজের নাম, এই প্যাকেজের আন্ডারে ফাইলসহ অনেকগুলা ইনপুট, আউট রিলেটেড ক্লাস
আছে যেগুলা আমরা ইউজ করব।
প্রথমে
File ক্লাস নিয়ে একটু বলি, ফাইল ক্লাসের মাধ্যমে আমরা কোনো একটা ফাইলকে পয়েন্ট করতে
পারব , তারপর ঐ ফাইলের চৌদ্দগুষ্টি সম্পর্কে জানতে পারব। কি বললাম? চৌদ্দগুষ্টি সম্পর্কে
জানতে পারব। File ক্লাস ইউজ করলে শুধু জানতেই পারব, আর ফাইল বানাতে, ডিলিট করতে পারব,
ফাইলে কিছু লিখতে পারব না , অথবা ফাইলের লিখা পড়তে পারব না। কোড দেখলে বুঝে যাবেন…
import
java.io.File;
public
class M{
public static void main(String[] args){
File file=new
File("Rifat.txt");
//file.createNewFile()
System.out.println("Does
it Exist ?? " +file.exists());
System.out.println("File
Size: " +file.length()+" bytes");
}
}
MDH
(Mahamudul Hasan) স্যারের স্লাইডের এক্সামপলটা দেখে ভালমত বুঝতে পারবেন।
এইখানে
কিন্তু কোনোভাবেই ফাইলে কিছু লিখা বা ফাইল থেকে কিছু পড়া হয়নি। কারণ File ক্লাসের ক্ষমতা এতটুকুই। ফাইলে কিছু লিখতে ও পড়তে
গেলে অন্যান্য ক্লাস ইউজ করতে হবে যাদের ফাইল রিড/ রাইট করার মতো মেথড আছে।
PrintWriter
মেথড দিয়ে লিখতে পারবেন, একটা ফাইল থেকে ইনপুট নিয়ে আরেকটা ফাইলে আউটপুট দিতে পারবেন,
সার্ভার থেকেও নেয়া যায়, অনেক জায়গা থেকেই ইনপুট নিতে পারবেন, আবার Stream আছে, এগুলা
পরে দেখাবো ভাল্লাগলে :/ vallagena
Comments
Post a Comment