1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package com.vci.server.base.mail;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
 
import com.vci.common.log.ServerWithLog4j;
 
public class EmailConfPropreties {
    private static String fileName = "/properties/emailConf.properties";
    private static String developerFileName = "properties/emailConf.properties";
    private static ResourceBundle _cfgResourceBundle = null;
    private static Properties confProperties = null;
 
    static {
        try {
            if (_cfgResourceBundle == null) {
                InputStream is = EmailConfPropreties.class
                        .getResourceAsStream(fileName);
                if (is != null) {
                    _cfgResourceBundle = new PropertyResourceBundle(is);
                }
                if (_cfgResourceBundle == null) {
                    File file = new File(developerFileName);
                    if (file.exists()) {
                        FileInputStream confPropertiesStream = new FileInputStream(
                                developerFileName);
                        confProperties = new Properties();
                        confProperties.load(confPropertiesStream);
                    }
                }
            }
        } catch (Exception ee) {
            ServerWithLog4j.logger.error("加载邮件配置信息出错,请检查文件重新启动服务!");
        }
    }
 
    public static String getStringProperty(String strKey) {
        return getStrPro(_cfgResourceBundle, strKey);
    }
 
    public static String getStringProperty(String strKey, String defaultVal) {
        return getStrPro(_cfgResourceBundle, strKey, defaultVal);
    }
 
    public static int getIntProperty(String strKey) {
        return getIntPro(_cfgResourceBundle, strKey);
    }
 
    public static int getIntProperty(String strKey, int defaultVal) {
        return getIntPro(_cfgResourceBundle, strKey, defaultVal);
    }
 
    private static String getStrPro(ResourceBundle _cfgResourceBundle,
            String key) {
        String rs = null;
        try {
            if (_cfgResourceBundle != null) {
                rs = _cfgResourceBundle.getString(key).trim();
            } else if (confProperties != null) {
                rs = confProperties.getProperty(key);
            }
        } catch (Exception e) {
            rs = "";
        } finally {
            if (rs == null) {
                rs = "";
            }
        }
        return rs;
    }
 
    private static String getStrPro(ResourceBundle _cfgResourceBundle,
            String key, String defaultVal) {
        String rs = null;
        try {
            if (_cfgResourceBundle != null) {
                rs = _cfgResourceBundle.getString(key).trim();
            } else if (confProperties != null) {
                rs = confProperties.getProperty(key);
            }
        } catch (Exception e) {
            rs = defaultVal;
        } finally {
            if (rs == null) {
                rs = defaultVal;
            }
        }
        return rs;
    }
 
    private static int getIntPro(ResourceBundle _cfgResourceBundle, String key) {
        try {
            return Integer.valueOf(getStrPro(_cfgResourceBundle, key))
                    .intValue();
        } catch (Exception e) {
        }
        return -1;
    }
 
    private static int getIntPro(ResourceBundle _cfgResourceBundle, String key,
            int defaultVal) {
        try {
            return Integer.valueOf(
                    getStrPro(_cfgResourceBundle, key,
                            String.valueOf(defaultVal))).intValue();
        } catch (Exception e) {
        }
        return defaultVal;
    }
}