14/08/2018, 13:46

Lớp Properties trong Java

Lớp Properties trong Java là lớp phụ của lớp Hashtable. Nó được sử dụng để duy trì các danh sách của các value trong đó key là một String và value cũng là một String. Lớp Properties được sử dụng bởi nhiều lớp Java khác. Ví dụ, nó là kiểu đối tượng được trả về bởi System.getProperties() khi ...

Lớp Properties trong Java là lớp phụ của lớp Hashtable. Nó được sử dụng để duy trì các danh sách của các value trong đó key là một String và value cũng là một String.

Lớp Properties được sử dụng bởi nhiều lớp Java khác. Ví dụ, nó là kiểu đối tượng được trả về bởi System.getProperties() khi đạt được các value môi trường.

Để hiểu sâu hơn các khái niệm được trình bày trong chương này, mời bạn tham khảo loạt bài: Ví dụ về Cấu trúc dữ liệu (Data Structure) trong Java.

Properties định nghĩa các biến instance sau. Biến này giữ một property list mặc định mà liên kết với một đối tượng Properties trong Java.

Properties defaults;

Properties định nghĩa hai constructor. Phiên bản đầu tiên tạo một đối tượng Properties mà không có giá trị mặc định:

Properties( )

Form thứ hai tạo một đối tượng mà sử dụng propDefault cho các value mặc định của nó. Trong cả hai trường hợp, property list đều là trống.

Properties(Properties propDefault)

Ngoài những phương thức được định nghĩa bởi Hashtable, lớp Properties trong Java định nghĩa các phương thức sau:

STT Phương thức và Miêu tả
1 String getProperty(String key)

Trả về value mà liên kết với key. Một đối tượng null được trả về nếu key hoặc không có trong danh sách hoặc không có trong property list mặc định

2 String getProperty(String key, String defaultProperty)

Trả về value mà liên kết với key. defaultPropperty được trả về nếu key hoặc không có trong danh sách hoặc không có trong property list mặc định

3 void list(PrintStream streamOut)

Gửi property list tới output stream mà liên kết tới streamOut

4 void list(PrintWriter streamOut)

Gửi property list tới output stream mà liên kết tới streamOut

5 void load(InputStream streamIn) throws IOException

Nhập một property list từ input stream mà liên kết tới streamIn

6 Enumeration propertyNames( )

Trả về một bản liệt kê các key. Nó cũng bao gồm các key được tìm thấy trong property list mặc định

7 Object setProperty(String key, String value)

Liên kết value với key. Trả về value trước mà liên kết với key, hoặc trả về null nếu không có liên kết nào tồn tại

8 void store(OutputStream streamOut, String description)

Sau khi ghi chuỗi được xác định bởi description, property list được ghi tới output stream mà liên kết tới streamOut

Ví dụ

Chương trình sau minh họa một số phương thức được hỗ trợ bởi lớp Properties trong Java:

import java.util.*;

public class PropDemo {

   public static void main(String args[]) {
      Properties capitals = new Properties();
      Set states;
      String str;
      
      capitals.put("Illinois", "Springfield");
      capitals.put("Missouri", "Jefferson City");
      capitals.put("Washington", "Olympia");
      capitals.put("California", "Sacramento");
      capitals.put("Indiana", "Indianapolis");

      // Hien thi tat ca cac state va capital trong hashtable.
      states = capitals.keySet(); // lay set-view cua cac key
      Iterator itr = states.iterator();
      while(itr.hasNext()) {
         str = (String) itr.next();
         System.out.println("Thu phu cua " +
            str + " la " + capitals.getProperty(str) + ".");
      }
      System.out.println();

      // tim kiem state khong co trong list -- xac dinh mac dinh
      str = capitals.getProperty("Florida", "Not Found");
      System.out.println("Thu phu cua Florida la "
          + str + ".");
   }
}

Nó sẽ cho kết quả sau:

Thu phu cua Missouri la Jefferson City.
Thu phu cua Illinois la Springfield.
Thu phu cua Indiana la Indianapolis.
Thu phu cua California la Sacramento.
Thu phu cua Washington la Olympia.

Thu phu cua Florida la Not Found.

0