উবুন্টু 20.04 এ জাভা ফাইল ইনপুট স্ট্রীম

Ubuntu 20 04 E Jabha Pha Ila Inaputa Strima



“এই নিবন্ধে, আমরা জাভা ইনপুট স্ট্রীম ক্লাস ব্যবহার করে ফাইলগুলি থেকে একটি বাইট অ্যারেতে ডেটা পড়ার বিভিন্ন উপায় নিয়ে আলোচনা করব। এই ক্লাস একটি ফাইল থেকে বাইট একটি সাজানো স্ট্রিম প্রতিনিধিত্ব করে. জাভা ইনপুট স্ট্রীম ক্লাসে একাধিক ফাংশন রয়েছে যা সাধারণত ব্যবহৃত হয় এবং এই নিবন্ধে আলোচনা করা হবে, যেমন read(), উপলব্ধ(), skip(), এবং close() পদ্ধতি। এই পদ্ধতিগুলি বিভিন্ন এক্সটেনশনের ফাইলগুলি যেমন বিন বা txt ফাইলগুলি পড়ার জন্য ব্যবহার করা হয় এবং ফাইলের যেকোনো বিন্দু থেকে তথ্য পেতে পরিবর্তন করা যেতে পারে। আমরা এই নিবন্ধে উবুন্টু 20.04 পরিবেশে এই পদ্ধতিগুলি প্রয়োগ করব।

ফাইল ইনপুট স্ট্রীম ক্লাসের আরও অনেক পদ্ধতি রয়েছে যা একটি ফাইল থেকে ডেটা পেতে খুব সহায়ক; তাদের মধ্যে কিছু int read(byte[] b), এই ফাংশন ইনপুট স্ট্রীম থেকে দৈর্ঘ্যে b.length বাইট পর্যন্ত ডেটা পড়ে। ফাইল চ্যানেল চ্যানেলটি পায় (): ফাইল ইনপুট স্ট্রীমের সাথে সংযুক্ত নির্দিষ্ট ফাইল চ্যানেল অবজেক্টটি এটি ব্যবহার করে ফেরত দেওয়া হয়। ফাইল ইনপুট স্ট্রীমের আর রেফারেন্স না থাকলে ক্লোজ() ফাংশনটি চালু করা হয়েছে তা নিশ্চিত করতে Finalize() ব্যবহার করা হয়।'

উদাহরণ 01: ইনপুট স্ট্রিম ক্লাসের read() এবং close() পদ্ধতি ব্যবহার করে একটি টেক্সট ফাইল থেকে একটি একক বাইট পড়া

এই উদাহরণটি একটি একক অক্ষর পড়তে এবং বিষয়বস্তু মুদ্রণ করতে ফাইল ইনপুট স্ট্রিম ব্যবহার করে। ধরুন আমাদের কাছে 'file.txt' নামের একটি ফাইল আছে যা নিচে দেখানো বিষয়বস্তু সহ:









ধরুন আমাদের উপরে দেখানো বিষয়বস্তু সহ “file.txt” নামে একটি ফাইল আছে। এখন ফাইলের প্রথম অক্ষরটি পড়ার এবং প্রিন্ট করার চেষ্টা করা যাক।







আমাদের প্রথমে java.io আমদানি করতে হবে। ফাইল ইনপুট স্ট্রীম প্যাকেজ একটি ফাইল ইনপুট স্ট্রীম নির্মাণের জন্য। তারপরে আমরা ফাইল ইনপুট স্ট্রীমের একটি নতুন অবজেক্ট তৈরি করব যা 'f' ভেরিয়েবলে নির্দিষ্ট করা ফাইলের সাথে (file.txt) লিঙ্ক করা হবে।

এই উদাহরণে, আমরা জাভা ফাইল ইনপুট স্ট্রীম ক্লাসের 'int read()' পদ্ধতি ব্যবহার করব, যা ফাইল থেকে একটি একক বাইট পড়তে এবং 'I' ভেরিয়েবলে সংরক্ষণ করতে ব্যবহৃত হয়। এরপর, “System.out.print(char(i))” সেই বাইটের সাথে সম্পর্কিত অক্ষরটি প্রদর্শন করে।



f.close() মেথড ফাইল এবং স্ট্রিম বন্ধ করে দেয়। আমরা পূর্বোক্ত স্ক্রিপ্ট তৈরি এবং চালানোর পরে নিম্নলিখিত আউটপুট পাব, কারণ আমরা দেখতে পাব শুধুমাত্র 'L' লেখাটির প্রাথমিক অক্ষর প্রিন্ট করা হয়েছে।

উদাহরণ 02: ইনপুট স্ট্রীম ক্লাসের read() এবং close() পদ্ধতি ব্যবহার করে একটি টেক্সট ফাইলের সমস্ত বিষয়বস্তু পড়া

এই উদাহরণে, আমরা পাঠ্য ফাইলের সমস্ত বিষয়বস্তু পড়ব এবং প্রদর্শন করব; নিচে দেখানো হয়েছে:

আবার, আমরা java.io আমদানি করব। ফাইল ইনপুট স্ট্রীম প্যাকেজ একটি ফাইল ইনপুট স্ট্রীম নির্মাণের জন্য।

প্রথমে, আমরা ফাইলের প্রথম বাইটটি পড়ব এবং while লুপের ভিতরে সংশ্লিষ্ট অক্ষরটি প্রদর্শন করব। while লুপটি চলবে যতক্ষণ না কোনো বাইট বাকি থাকে, অর্থাৎ ফাইলের টেক্সট শেষ না হয়। লাইন 12 পরবর্তী বাইট পড়বে এবং ফাইলের শেষ বাইট পর্যন্ত লুপ চলতে থাকবে।

উপরের কোড কম্পাইল এবং এক্সিকিউট করার পর আমরা নিচের ফলাফল পাব। আমরা দেখতে পাচ্ছি, 'Lorep Ipsum' ফাইলটির পুরো পাঠ্য টার্মিনালে প্রদর্শিত হয়েছে।

উদাহরণ 03: ইনপুট স্ট্রিম ক্লাসের উপলব্ধ() পদ্ধতি ব্যবহার করে একটি পাঠ্য ফাইলে উপলব্ধ বাইটের সংখ্যা নির্ধারণ করা

এই উদাহরণে, ফাইল ইনপুট স্ট্রীমের বিদ্যমান বাইটের সংখ্যা নির্ধারণ করতে আমরা ফাইল ইনপুট স্ট্রীমের 'উপলব্ধ()' ফাংশন ব্যবহার করব।

প্রথমত, আমরা নিম্নলিখিত কোড সহ 'a' নামে ফাইল ইনপুট স্ট্রিম ক্লাসের একটি অবজেক্ট তৈরি করেছি। লাইন 5-এ, আমরা ফাইলে উপলব্ধ বাইটের মোট পরিমাণ নির্ধারণ এবং প্রদর্শন করতে 'available()' পদ্ধতি ব্যবহার করেছি। তারপর লাইন 6 থেকে লাইন 8 পর্যন্ত, আমরা 'read()' ফাংশনটি তিনবার ব্যবহার করেছি। এখন লাইন 9-এ, আমরা অবশিষ্ট বাইটগুলি পরীক্ষা এবং প্রদর্শন করতে আবার 'available()' পদ্ধতি ব্যবহার করেছি।

কোড কম্পাইল এবং রান করার পর, আমরা দেখতে পাচ্ছি আউটপুটের প্রথম লাইনটি ফাইলে উপলব্ধ বাইটের মোট সংখ্যা দেখায়। পরবর্তী লাইনটি কোডের শেষে উপলব্ধ বাইটের সংখ্যা দেখায়, যা শুরুতে উপলব্ধ বাইটের থেকে 3 কম। কারণ আমরা আমাদের কোডে তিনবার রিড মেথড ব্যবহার করেছি।

উদাহরণ 04: ইনপুট স্ট্রিম ক্লাসের skip() পদ্ধতি ব্যবহার করে একটি নির্দিষ্ট পয়েন্ট থেকে ডেটা পড়ার জন্য একটি টেক্সট ফাইলের বাইট এড়িয়ে যাওয়া

এই উদাহরণে, আমরা ফাইল ইনপুট স্ট্রীমের 'skip(x)' পদ্ধতি ব্যবহার করব, যা ইনপুট স্ট্রীম থেকে প্রদত্ত সংখ্যক বাইট উপেক্ষা এবং উপেক্ষা করতে ব্যবহৃত হয়।

নীচের কোডে, প্রথমে, আমরা একটি ফাইল ইনপুট স্ট্রিম তৈরি করেছি এবং এটি 'a' ভেরিয়েবলে সংরক্ষণ করেছি। এর পরে, আমরা 'a.skip(5)' পদ্ধতি ব্যবহার করেছি, যা ফাইলের প্রথম 5 বাইট বাদ দেবে। এরপর, আমরা কিছুক্ষণ লুপের ভিতরে “read()” পদ্ধতি ব্যবহার করে ফাইলের অবশিষ্ট অক্ষরগুলি প্রিন্ট করি। অবশেষে, আমরা 'close()' পদ্ধতিতে ফাইল ইনপুট স্ট্রীম বন্ধ করে দিয়েছি।

কোড কম্পাইল ও রান করার পর টার্মিনালের স্ক্রিনশট নিচে দেওয়া হল। আমরা দেখতে পাচ্ছি, শুধুমাত্র “Ipsum” প্রদর্শিত হয় কারণ আমরা “skip()” পদ্ধতি ব্যবহার করে প্রথম 5টি বাইট বাদ দিয়েছি।

উপসংহার

এই নিবন্ধে, আমরা ফাইল ইনপুট স্ট্রিম ক্লাসের ব্যবহার এবং এর বিভিন্ন পদ্ধতি নিয়ে আলোচনা করেছি; read(), available(), skip(), এবং close()। আমরা read() এবং close() পদ্ধতি ব্যবহার করে ফাইলের প্রথম উপাদান পড়ার জন্য এই পদ্ধতিগুলি ব্যবহার করেছি। তারপরে আমরা পুনরাবৃত্তিমূলক পদ্ধতির মাধ্যমে এবং একই পদ্ধতি ব্যবহার করে পুরো ফাইলটি পড়ি। তারপরে আমরা ফাইলের শুরু এবং সমাপ্তির সময় উপস্থিত বাইটের সংখ্যা নির্ধারণ করতে উপলব্ধ() পদ্ধতি ব্যবহার করেছি। এর পরে, আমরা ফাইলটি পড়ার আগে বেশ কয়েকটি বাইট এড়িয়ে যাওয়ার জন্য skip() পদ্ধতি ব্যবহার করেছি, যা আমাদের প্রয়োজনীয় নির্দিষ্ট ডেটা পেতে দেয়।