用java讀取properties文件--轉


今天為了通過java讀取properties文件,google了很長時間,終於找到了。現在特記錄之和大家一起分享。 
    下面直接貼出代碼:java類 

public class Mytest   
public static void readFile(String fileName) {//傳入參數fileName是要讀取的資源文件的文件名如(file.properties)  
        InputStream in = null;  
        Properties pros = new Properties();  
        try {  
            if (null != fileName) {  
//前提是資源文件必須和Mytest類在同一個包下  
        in = Mytest.class.getResourceAsStream(fileName);  
//得到當前類的路徑,並把資源文件名作為輸入流  
                pros.load(in);  
Enumeration en = pros.propertyNames();//得到資源文件中的所有key值  
        while (en.hasMoreElements()) {  
    String key = (String) en.nextElement();  
System.out.println("key=" + key + " value=" + pros.getProperty(key));  
//輸出資源文件中的key與value值  
                }  
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
            System.out.println("讀取資源文件出錯");  
        } finally {  
            try {  
            if (null != in) {  
                in.close();  
                }  
            } catch (IOException e) {  
                e.printStackTrace();  
                System.out.println("關閉流失敗");  
            }  
        }  
  
    }  

方法二:

import java.util.MissingResourceException;  
import java.util.ResourceBundle;  
  
public class Messages {  
    private static final String BUNDLE_NAME = "com.xxx.cs.mm.service.messages"; //messages.properties文件和Messages類在同一個包下,包名:com.xxx.cs.mm.service  
  
    private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);  
  
    private Messages() {  
    }  
  
    public static String getString(String key) {  
        try {  
            return RESOURCE_BUNDLE.getString(key);  
        } catch (MissingResourceException e) {  
            return '!' + key + '!';  
        }  
    }  
}  

轉自:http://duqiangcise.iteye.com/blog/319793

 

使用J2SE API讀取Properties文件的六種方法

1。使用java.util.Properties類的load()方法
示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);

2。使用java.util.ResourceBundle類的getBundle()方法
示例: ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());

3。使用java.util.PropertyResourceBundle類的構造函數
示例: InputStream in = new BufferedInputStream(new FileInputStream(name));
ResourceBundle rb = new PropertyResourceBundle(in);

4。使用class變量的getResourceAsStream()方法
示例: InputStream in = JProperties.class.getResourceAsStream(name);
Properties p = new Properties();
p.load(in);

5。使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
示例: InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties();
p.load(in);

6。使用java.lang.ClassLoader類的getSystemResourceAsStream()靜態方法
示例: InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties();
p.load(in);

補充

Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
示例:InputStream in = context.getResourceAsStream(path);
Properties p = new Properties();
p.load(in);

注意:

this.getclass.getResourceAsStream(name);  //類與資源文件同級--同一個目錄下

this.class.getClassLoader().getResourceAsStream(name); //資源文件與classpath同級。

未知來源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM