• 用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同级。

    未知来源

  • 相关阅读:
    LightOj 1016
    uva 127 "Accordian" Patience 简单模拟
    hdu 1180 诡异的楼梯 BFS + 优先队列
    UVALive 3907 Puzzle AC自动机+DP
    HDU 4001 To Miss Our Children Time DP
    HDU 4000 Fruit Ninja 树状数组
    hdu_1021_Fibonacci Again_201310232237
    hdu_1005_Number Sequence_201310222120
    hdu_1029-Ignatius and the Princess IV_201310180916
    hdu_1020_Encoding_201310172120
  • 原文地址:https://www.cnblogs.com/davidwang456/p/3782057.html
Copyright © 2020-2023  润新知