Computer >> Máy Tính >  >> Lập trình >> Java

ARM trong Java là gì?

Tài nguyên là một đối tượng thực hiện giao diện AutoClosable. bất cứ khi nào bạn sử dụng tài nguyên trong chương trình của mình, bạn nên đóng tài nguyên đó sau khi sử dụng.

Ban đầu, tác vụ này được thực hiện bằng cách sử dụng khối cuối cùng.

Ví dụ

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();
      }
   }
}

Đầu ra

This is a sample file with sample text

ARM

ARM trong Java là viết tắt của quản lý tài nguyên tự động, nó được giới thiệu trong Java7, trong đó các tài nguyên nên được khai báo ở khối try và chúng sẽ được đóng tự động ở cuối khối. Nó còn được gọi là khối tài nguyên try-with và các đối tượng chúng tôi khai báo trong khối này phải là tài nguyên, tức là chúng phải thuộc loại AutoClosable .

Sau đây là cú pháp của câu lệnh try-with-resources -

try(ClassName obj = new ClassName()){
   //code……
}

Từ JSE7 trở đi, câu lệnh try-with-resources được giới thiệu. Trong phần này, chúng tôi khai báo một hoặc nhiều tài nguyên trong khối try và những tài nguyên này sẽ tự động đóng lại sau khi sử dụng. (ở cuối khối thử)

Các tài nguyên chúng tôi khai báo trong khối try nên mở rộng lớp java.lang.AutoClosable.

Ví dụ

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();
      }
   }
}

Đầu ra

This is a sample file with sample text

Nhiều tài nguyên trong Java

Bạn cũng có thể khai báo nhiều tài nguyên trong tài nguyên dùng thử và tất cả chúng sẽ được đóng cùng một lúc ở cuối khối.

Ví dụ

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();
      }
   }
}

Đầu ra

File copied successfully!!