Skip to main content

ফাইল নিয়ে যত কথা (post-10)


ফাইল নিয়ে যত কথা

ফাইল আমরা কেন ব্যবহার করি ?   কারণ আমরা যে প্রোগ্রাম, ভ্যারিয়েবল নিয়ে কাজ করে এসেছি সেগুলো যতক্ষন প্রোগ্রাম চলে ততক্ষন ই 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










Move to:
Post 7              Post 8
Post 6              Post 9
Post 5 
Post 4
Post 3 
Post 2 
Post 1

Comments

Popular posts from this blog

IELTS Spoken Class Adminssion Scenario - 01

.......  Student: Hello, May I come in, sir ? Optional (student): May I sit ? Sir:  Please have a seat. Sir: How may I help you, Sir ? Student: I would like to admit in your spoken course. Sir: Oh sure. Student: How many days are there in a week ? Sir: There are three classes in a week. Student: What time do you offer class ? Sir: We have class at 11am / 4pm / 6pm / 8pm

Php Learning Time

 Differences of explode( ) and implode( ) in php: explode: একটা স্ট্রিংকে কোনো একটা সেপারেটরের বেসিসে অ্যারেতে কনভার্ট করে, যেমন  <?php $text="Hello How are you?"; print_r(explode(" ",$text)); ?> This will give output of  Array (     [0] => Hello     [1] => How     [2] => are     [3] => you? ) Differences of array_splice( ) and array_slice( ) ধরেন আসল অ্যারে হচ্ছে    $arr =[ "Hello" , "this" , "is" , "test" , "text" ];    এখন এটাকে স্লাইসিং করার জন্য আমরা উপরের দুইটা মেথড ই ব্যবহার করতে পারি , কিন্তু array_splice এটা ইউজ করলে অরজিনাল array ও চেঞ্জ হয়ে যাবে, মানে যদি আমরা এভাবে লিখি  $var2 = array_splice ( $arr , 0 , 2 );   তাইলে $var2 এর ভিতরে থাকবে ["Hello" , "this"] ,  আর অরজিনাল array তে বাকি থাকবে ["is", "test", "text"] কিন্তু যদি আমরা ইউজ করি তাহলে অরজিনাল array আগের মতোই থাকবে পাশাপাশি $var2 এর মধ্যে ভ্যালু গুলা এসে পড়বে  Array (     [0] => ...