জাভা স্ট্রিং

স্ট্রিং ডিফাইন করার জন্য নিচের পদ্ধতি অনুসরন কর । স্ট্রিং হল অক্ষর এর এরে ।

String name = "Olee Ahmmed";
String lastname = new String("Ashik");

প্রথমে স্ট্রিং ভেরিয়েবল তারপরে একটা ডট দিলে টেক্সট ide স্ট্রিং ক্লাস থেকে অনেকগুলো ফাংশন সাজেশন করবে আমরা আমাদের প্রয়োজন মত ফাংশন নিয়ে কাজ করতে পারব ।

// প্রথমে স্ট্রিং ভেরিয়েবল তারপরে একটা ডট দিলে টেক্সট ide স্ট্রিং ক্লাস থেকে অনেকগুলো ফাংশন সাজেশন করবে আমরা আমাদের প্রয়োজন মত ফাংশন নিয়ে কাজ করতে পারব ।
name.charAt(0); // এটা ০ বা প্রথম অক্ষর কে আউটপুট দেবে । 

name.equals("olee");// এটা name ভেরিয়েবল এর মধ্যে ভালু টি চেক করে সত্য মিথ্যা উত্তর প্রদান করে । বেশিরভাগ সময় ভেরিয়েবেল এর মান চেক করতে এবং দুইটা ভেরিয়েবেল এর মধ্যে পার্থক্য জানতে এই ফাংশন ব্যাবহার করা হয় ।

জাভা i/o ইনপুট /আউটপুট স্ট্রিম

স্ট্রিম হলে তথ্যের বা ডাটার সিকোয়েন্স যেখানে ডাটা সাজানো থাকে। জাভাতে ডাটা বা ফাইল ইনপুট (ডাটা গ্রহণ করতে ) ফাইল আউটপুট (ডাটা লিখতে ) bite (বইতে হলো ছোট ডাটা টাইপ )আকারে ডাটাকে কনভার্ট করে জাভা আউটপুট স্ট্রিম এবং জাভা ইনপুট স্ট্রিম এর কাজ করা হয়।
জাভা আউটপুট স্ট্রিম :জাভাতে কোনো ফাইল বা এরে তে ডাটা রাইট করতে জাভা আউটপুট স্ট্রিম ব্যবহার হয়। জাভা আউটপুট স্ট্রিম। আমরা যদি কোনো ফাইল এ লিখতে চাই তবে আমাদের প্রথমে FileOutputStream ক্লাস (যা OutputStream কে এসিটেন্ডস করেছে) এর একটি একটি অবজেক্ট তৈরী করতে হবে এবং কনস্ট্রাক্টর এর প্যারামিটার হিসাবে ফাইল এর সোর্স বা লোকেশন দিতে হবে এবং মনে রাখতে হবে আমরা যদি কোনো ক্যারেক্টর লিখতে চাই তবে ক্যারেক্টর এর ASCII নম্বর দিতে হবে কেননা জাভা আউটপুট স্ট্রিম হিসাবে ASCII ক্যারেক্টর নিয়ে ইনপুট এবং আউটপুট এর কাজ করে। যদি কোনো স্ট্রিং স্ট্রিম হিসাবে দেই তাহলে সে অটোমেটিক নিজেই আউটপুট বা ফাইল রাইট করে কিন্তু আমরা যদি ইন্টিজার বা নম্বর স্ট্রিম হিসাবে দেয় তখন সে ASCII ক্যারেক্টর আউটপুট বা রাইট করবে এখন প্রশ্ন হলো যদি আমার আউটপুট বা লিখা নম্বরই লাগবে তাহলে জাস্ট নম্বর কে স্ট্রিং এ কনভার্ট করে রাইট করতে হবে। আমরা যদি কোনো স্ট্রিং কে রাইট করতে চাই তবে সিম্পলি একটা জাভা স্ট্রিং ভ্যারিয়েবল এ স্ট্রিং টি স্টোরে করে তা একটি bite এরে তে কনভার্ট করে ফাইল হিসাবে দিয়ে আউটপুট বা লিখতে হবে।
ইনপুট

যখন আমরা ইনপুট আউটপুট স্ট্রিম এর কাজ করবো তখন ide eclips বা অন্য যেকোনো ide আমাদের এক্সসেপশন এবং try ক্যাচ এর পরামর্শঃ দেবে আমরা তা এপলাই করবো না হলে এরর শো করবে

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Hello {
	public static void main(String[] args) throws IOException {
	try {
		FileOutputStream fileOutputStream = new FileOutputStream("D:\\test.txt");
		String nameString = " My Name Is oLEE aHMMED aSHIK ";
		byte[] b = nameString.getBytes();
		// when We Write String Value To A File  
		fileOutputStream.write(b);
		//fileOutputStream.write(b); when We Write Asiici Symbol unicode ba charecter 
		fileOutputStream.flush();
		fileOutputStream.close();
		System.out.println("success");
		
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	}
	
	

}

InputStream

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Hello {
	public static void main(String[] args) throws IOException {
FileInputStream fileInputStream = new FileInputStream("D:\\test.txt");
 int i;
// i=  fileInputStream.read();// For Single Charecter Input
//For All Charecter Input
while ((i = fileInputStream.read())!=-1) {
	System.out.print((char)i); // jodi Char Na Dey Tahole file inputstream input hisabe asscii code debe kenona input stream unicode hisabe input ebong output grohon kore ebong pathanor somoy asscii hisabe pathai .
}	}
	
	

}

Java Pojo (Plain Old Java Object ) Details In Bangla

প্রথমে একটি pojo ক্লাস তৈরী করলাম।

class Student {
	
String name;

public Student(String name) {
	super();
	this.name = name;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
} 

অন্য একটা ক্লাস বা ফাংশন এ যদি আর্রেলিস্ট এর মধ্যে pojo ক্লাস এর অবজেক্ট তৈরী করি উদাহরণ স্বরূপ একটা আর্রেলিস্ট আছে যার টাইপ হলো pojo ক্লাস
এখন যদি আর্রেলিস্ট এ add () ফাংশন দ্বারা অবজেক্ট যোগ করি এভাবে ArrayList list = new ArrayList();

list.add(new Student("ashik"));

তাহলে প্রথমে লক্ষ্য করি যে সাধারণ নিয়মে আমরা যদি list (arraylist ) এটা অবজেক্ট ধারণ করে এবং যদি আমরা উক্ত অবজেক্ট হতে ডাটা পেতে চাই তাহলে list.get(0) এখানে ০ হলো ইনডেক্স পজিশন এবং এটা অবজেক্ট যেহেতু আমাদের pojo ক্লাস এর অবজেক্ট হতে ডাটা পাওয়ার ব্যবস্থা করে রেখেছি তাই list.get(0). এর সাথে ডট দিয়ে pojo ক্লাস এর ডাটা অন্য এভাবে। list.get(0).name
তাহলে আউটপুট হিসাবে ashik পাবো

সম্পূর্ণ কোড এখানে

package bahubali;

import java.util.ArrayList;

public class Bahubali {
public static void main(String[] args) {
	ArrayList<Student> list = new ArrayList<Student>();
	
	list.add(new Student("ashik"));
	System.out.println(list.get(0).name);
	
}
	
}


class Student {
	
String name;

public Student(String name) {
	super();
	this.name = name;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
} 


}

Eclips Configuration For Java Developer

  1. Download And Install Eclips .
  2. Open Eclips Ide.
  3. Create A WorkSpace And Use Work Space
  4. File->New->Java Project
  5. 5 Create Java Class With Select Project Src Folder Directory.

Auto Complete Code Java On Eclips

  1. For Auto Complete Code Go to Window->Preference->Java->Editor->Content Assistant And Right Side Auto Activation Trigger For Java Fill Below Code And Apply .
.abcdefghijklmnopqrstuvwxyz

How To Generate Constructor Setter And Getter In Eclips .

Use Alt+Sift+s And Selector Your Generator .

জাভা এক্সেপশন হ্যান্ডলিং

জাভা এক্সেপশন হ্যান্ডলিং :
প্রোগ্রামের গতিপথ নিশ্চিন্ত রাখতে যে পদ্ধতি অবলম্বন করা হয় তাই এক্সেপশন হ্যান্ডলিং।মনে কর তুমি বাসে উঠলেই বমি করো এবং যেখানে বমি স্টার্ট হয় তুমি সেখানেই বাস থেকে নেমে গন্তব্যে যাওয়া বন্ধ কর। এখানে তোমার বাসে ঊঠিলে বমি হতে ও পারে আবার নাও পারে এটা তুমি যেমন জানো তেমনি একজন প্রোগ্রামার ও জানে যে তার কোথায় কোথায় প্রোগ্রাম সমস্যা হতে পারে। যেমন তুমি জানো যে যদি বাসে ভিড় হয় অথবা অনেক গরমে তোমার বমি হতেও পারে নাও পারে ঠিক তেমনি উদহারণ স্বরূপ তুমি কোনো ইমেজ ফাইল তোমার প্রোগ্রামে কল করলে যেটা কোনো ওয়েবসাইট এ আছে এখন যদি সেই সাইটে ইমেজ ফাইলটি আগে হতে ডিলিট হয়ে থাকে তখন তোমার প্রোগ্রাম ঐজায়গায় থেমে যাবে ঠিক তোমার বমির অবস্থার নয় । তুমি যেমন জানো বমি হলেই আমি অন্য একটা বাস এ অথবা হেঁটেই গন্তব্যে যাবো অর্থাৎ তুমি থিম থাকবে না যেকোনো উপায়ে তোমার পরবর্তী গন্তব্যে যাবে ঠিক তেমনি প্রোগ্রামার কিছু উপায় তৈরী করে রাখে যেমন তার লোকাল স্টোরে একটা ফাইল রাখে অথবা অন্য কোনো টেক্সট শো করে এটাই এক্সেপশন হ্যান্ডলিং।

এক্সেপশন হ্যান্ডলিং কীওয়ার্ড সমূহ :
try {} catch (){}finnaly {}এবং throw হলো এক্সেপশন হ্যান্ডলিং কীওয়ার্ড।
যখন কোনো প্রোগ্রামে এক্সেপশন থাকার সম্ভাবনা থাকবে তখন ওই কোডগুলো try { //এখানে কোড হবে } ব্লকের মধ্যে হবে এবং একটি try ব্লক কখনো এক থাকতে পারেনা তার সাথে একটি catch (// এর মধ্যে এক্সেপশন এর ধরণ এর বর্ণনা থাকবে ){} অথবা finally {} ব্লক থাকবে। একটি try{} ব্লক এ একাধিক ধরণের এক্সেপশন থাকতে পারে যেমন একটি try {}ব্লকের মধ্যে স্ট্রিংএবং ডাটাবেস কানেকশন কোড থাকতে পারে ইউজার হয়তোবা স্ট্রিং এর জায়গায় নম্বর দিলো অথবা ডাটাবেস কানেক্ট হলোনা সেক্ষেত্রে এক্সেপশন গুলো পর্যায়ক্রমে সাজাতে পারো। এক্সেপশন এর শেষে জেনেরিক এক্সেপশন ক্যাচ ব্লক রাখলে অনেক সুবিধা যেমন তুমি একটা প্রোগ্রামে দুইটা এক্সেপশন রাখলে বাস্তবে তোমার এক্সেপশন এর বাইরেও কিছু এক্সেপশন থাকতে পারে যা তুমি গেজ করতে পারছোনা তাই তুমি catch (Exception e ){} বেবহার করবে। finally হলো ট্রাই অথবা catch যেকোনো একটার কাজ শেষ হলে finally ব্লক এর কাজ শুরু করবে। যেমন ডাটাবেস এ কানেক্ট এর চেষ্টা করলে ট্রাই ব্লকার মধ্যে এবং finnaly ব্লকের মধ্যে ডাটাবেস কানেক্ট null করার চেষ্টা করলে তখন কোড প্রথমে try ব্লক এ সাকসেস না হলে catch ব্লক এক্সেকিউট করবে এবং তার পর ফাইনালি ব্লক এর কাজ করবে। মোট কথা এক্সেপশন থাকে বা না থাক finally ব্লক try catch এর পর এক্সেকিউট হবেই যদি ফাইনালি ব্লক কল করে থাকি। একটা ট্রাই catch ব্লকের মধ্যে আরেকটি try catch ব্লক এবং এর মধ্যে আরেকটি try catch ব্লক পর্যায়ক্রমে থাকতে পারে যাকে নেস্টেড try catc বলা হয়। অনেক সময় এক্সেপশন throw করা হয় যেমন তুমি চাচ্ছ কারো বয়স ১০ এর কম হলে অথবা ওজন ২০ কেজি এর কম হলে একটি এক্সেপশন হবে তখন তুমি এক্সেপশন throw করতে পারো। যেমন if (age <১০){
throw new ArithmeticException(” কাস্টম মেসেজ “)//এক্সেপশন নেম
}

throw করতে পারো।