কম্পিউটার

জাভা এ আরএম কি?


একটি সম্পদ হল একটি বস্তু যা অটোক্লোসেবল ইন্টারফেস প্রয়োগ করে। যখনই আপনি আপনার প্রোগ্রামে একটি সংস্থান ব্যবহার করেন তখন এটি ব্যবহারের পরে এটি বন্ধ করার পরামর্শ দেওয়া হয়৷

প্রাথমিকভাবে, এই কাজটি শেষ ব্লক ব্যবহার করে করা হয়।

উদাহরণ

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Scanner;
public class FinalExample {
   public static void main(String[] args) throws IOException {
      File file = null;
      FileInputStream inputStream = null;
      try {
         file = new File("D:\\source\\sample.txt");
         inputStream = new FileInputStream(file);
         Scanner sc = new Scanner(inputStream);
         while(sc.hasNextLine()) {
            System.out.println(sc.nextLine());
         }
      } catch(IOException ioe) {
         ioe.printStackTrace();
      } finally {
         inputStream.close();
      }
   }
}

আউটপুট

This is a sample file with sample text

ARM

জাভাতে এআরএম মানে স্বয়ংক্রিয় রিসোর্স ম্যানেজমেন্ট, এটি জাভা7 এ চালু করা হয়েছিল, এতে রিসোর্সগুলিকে ট্রাই ব্লকে ঘোষণা করা উচিত এবং সেগুলি ব্লকের শেষে স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে। এটি রিসোর্স ব্লকের সাথে চেষ্টা করেও পরিচিত এবং এতে আমরা যে অবজেক্টগুলি ঘোষণা করি সেগুলি একটি সংস্থান হওয়া উচিত অর্থাৎ সেগুলি AutoClosable প্রকারের হওয়া উচিত .

ট্রাই-উথ-রিসোর্স স্টেটমেন্ট -

-এর সিনট্যাক্স নিচে দেওয়া হল
try(ClassName obj = new ClassName()){
   //code……
}

JSE7 এর পর থেকে সম্পদের সাথে চেষ্টা করার বিবৃতি চালু করা হয়েছে। এতে আমরা ট্রাই ব্লকে এক বা একাধিক সংস্থান ঘোষণা করি এবং সেগুলি ব্যবহারের পরে স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে। (ট্রাই ব্লকের শেষে)

আমরা চেষ্টা ব্লকে যে সংস্থানগুলি ঘোষণা করি সেগুলি java.lang.AutoCloseable ক্লাস প্রসারিত করা উচিত৷

উদাহরণ

Following program demonstrates the try-with-resources in Java.
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Scanner;
public class FinalExample {
   public static void main(String[] args) throws IOException {
      try(FileInputStream inputStream = new FileInputStream(new File("D:\\source\\sample.txt"));) {
         Scanner sc = new Scanner(inputStream);
         while(sc.hasNextLine()) {
            System.out.println(sc.nextLine());
         }
      } catch(IOException ioe) {
         ioe.printStackTrace();
      }
   }
}

আউটপুট

This is a sample file with sample text

জাভাতে একাধিক সংস্থান

আপনি সম্পদের সাথে চেষ্টা করার জন্য একাধিক সংস্থান ঘোষণা করতে পারেন এবং সেগুলি ব্লকের শেষে একবারে বন্ধ হয়ে যাবে৷

উদাহরণ

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopying {
   public static void main(String[] args) {
      try(FileInputStream inS = new FileInputStream(new File("E:\\Test\\sample.txt"));
      FileOutputStream outS = new FileOutputStream(new File("E:\\Test\\duplicate.txt"))){
         byte[] buffer = new byte[1024];
         int length;
         while ((length = inS.read(buffer)) > 0) {
            outS.write(buffer, 0, length);
         }
         System.out.println("File copied successfully!!");
      } catch(IOException ioe) {
         ioe.printStackTrace();
      }
   }
}

আউটপুট

File copied successfully!!

  1. জাভাতে StringIndexOutOfBoundsException কি?

  2. জাভাতে ArrayIndexOutOfBoundsException কি?

  3. জাভাতে চূড়ান্ত প্যারামিটার কি?

  4. জাভা প্রোগ্রামিং কি?