问题
我的是ssh项目,需要做一个文件上传,然后文件路径需要读取properties配置 在resource下有config/application.properties 然后工具类是这样写的,这个是可以用的
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.MissingResourceException;
import java.util.Properties;
import java.util.ResourceBundle;
public class PropertiesUtil {
private static Properties props = new Properties();
private static PropertiesUtil instances = null;
private static String NAME = "config//application";
public static PropertiesUtil getInstance() {
if (null == instances) {
instances = new PropertiesUtil();
}
return instances;
}
private PropertiesUtil() {
init(NAME);
}
public synchronized void init(String sPropFilePathName) throws MissingResourceException {
String propFile = sPropFilePathName;
ResourceBundle bundle = ResourceBundle.getBundle(propFile);
Enumeration enume = bundle.getKeys();
Object key = null;
Object value = null;
while (enume.hasMoreElements()) {
key = enume.nextElement();
value = bundle.getString(key.toString());
props.put(key, value);
}
}
public String getProperty(String key) {
return props.getProperty(key);
}
public static String getValue(String filePath, String key)
{
InputStream in = null;
String value = null;
try
{
in = PropertiesUtil.class.getResourceAsStream(filePath);
props.load(in);
value = props.getProperty(key);
}
catch (Exception e)
{
e.printStackTrace();
}finally{
try
{
if(in != null) {
in.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
return value;
}
public static void main(String[] args) {
System.out.println(PropertiesUtil.getInstance().getProperty("属性key"));
}
}
如果我在properties写成如下 项目直接启动不起来,报了error
解决
经过研究,properties使用“\”相当于是java的转义符 如果想要写出\的效果,只需修改如下写法即可 然后项目起来了,然后看数据库插入的path也正常~
|