使用 properties 存取資料


資料的儲存方式除了database之外,還有 properties 可以選擇,優點是使用簡單,不需要其它的jar檔

package fothers;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;

public class F_Use_Properties_and_Xml {
    
    public static void main(String[] args){
        
        storeProperties();
        storeProperties_xml();
        
        loadProperties();
        loadProperties_xml();
        
    }
    
    /**
     * 儲存properties
     */
    public static void storeProperties(){
        
        Properties proper = new Properties();
        proper.setProperty("key1", "value1");
        
        try {
            //可以寫入絕對路徑,指定放置任何位置 "d:\\testproperties\\testpro.xml"
            //也可以使用 F_GetExecProperty.getExecPath(); 可寫到執行的目錄
            proper.store(new FileWriter("d:\\testproperties\\"+"testpro.properties"), "ps");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        
    }
    
    /**
     * 讀取properties
     */
    public static void loadProperties(){
        
        Properties proper = new Properties();
        
        try {
            
            proper.load(new FileReader("d:\\testproperties\\"+"testpro.properties"));
            
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  
        
    }
    
    /**
     * 儲存 properties (xml)
     */
    public static void storeProperties_xml(){
        
        Properties proper = new Properties();
        proper.setProperty("keyxml", "valuexml");
        
        try {
            proper.storeToXML(new FileOutputStream("d:\\testproperties\\"+"testpro.xml"), "ps");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        
    }
    
    /**
     * 讀取 properties (xml)
     */
    public static void loadProperties_xml(){
        
        Properties proper = new Properties();
        
        try {
            proper.loadFromXML(new FileInputStream("d:\\testproperties\\"+"testpro.xml"));
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  
        
    }
}