Obiekt Properties to hashmapa przechowująca pary wartości: “nazwa właściwości – wartość” podane jako łańcuchy znaków. Properties zapisuje się do plików .properties
Możemy uzyć różnych klas. Tutaj pokazuję użycie FileOutputStream i FileInputStream.

Zapisywanie – klasa FileOutputStream

Klasa R019.java
1    package aderby.start;
2    
3    import aderby.DerbyUtil;
4    
5    import java.io.*;
6    import java.util.*;
7    
8    public class R019 {
9        public static void main(String[] args) {
10           Properties props = new Properties();
11           props.put("user", "Jacek");
12           props.put("password", "abcdefgh");
13           props.put("create", "true");
14           props.put("nazwa", "ąęśćżźółń");
15           FileOutputStream fos = null;
16           try {
17               fos = new FileOutputStream("aderby/src/resources/props/r019.properties");
18               props.store(fos, "Właściwości startowe");
19           } catch (IOException e) {
20               e.printStackTrace();
21           }
22           DerbyUtil.close(fos);
23       }
24   }
25   

Po uruchomieniu klasy otrzymujemy plik r019.properties:

1    #W\u0142a\u015Bciwo\u015Bci startowe
2    #Sun Oct 27 09:18:42 CET 2019
3    password=abcdefgh
4    create=true
5    user=Jacek
6    nazwa=\u0105\u0119\u015B\u0107\u017C\u017A\u00F3\u0142\u0144
7    

Odczytywanie – klasa FileInputStream

Klasa R020.java
1    package aderby.start;
2    
3    import aderby.DerbyUtil;
4    
5    import java.io.*;
6    import java.util.*;
7    import java.util.Map.*;
8    
9    public class R020 {
10       public static void main(String[] args) {
11           FileInputStream fis = null;
12           Properties props = new Properties();
13           try {
14               fis = new FileInputStream("aderby/src/resources/props/r019.properties");
15               props.load(fis);
16           } catch (IOException e) {
17               e.printStackTrace();
18           }
19           Set<Entry<Object, Object>> pr = props.entrySet();
20           for (Entry<Object, Object> entry : pr) {
21               String nazwa = (String) entry.getKey();
22               String value = (String) entry.getValue();
23               System.out.println(nazwa + "=" + value);
24           }
25           String user = props.getProperty("user");
26           System.out.println(user);
27           DerbyUtil.close(fis);
28       }
29   }
30   

Po uruchomieniu klasy na konsoli zobaczymy:

password=abcdefgh
create=true
user=Jacek
nazwa=ąęśćżźółń
Jacek

Pliki do ściągniecia

Klasa R019.java
Klasa R020.java
Aktualny (tworzony narastająco) plik module-info.java
Aktualny (tworzony narastająco) plik DerbyUtil.java
Pliki tworzone narastająco zastępują poprzednie pliki o tej samej nazwie i działają dla wszystkich wcześniej opublikowanych przykładów we wszyskich wpisach w projekcie. W przypadku pliku module-info.java może być potrzebne skreślenie niepotrzebnych wpisów.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *