读书人

读取Properties文件读取路径空格

发布时间: 2012-11-05 09:35:12 作者: rapoo

读取Properties文件读取,路径,空格,中文问题

原文:http://blog.163.com/cdf_2008/blog/static/76064778200954101651458/

读取Properties文件和路径问题
? 如:读取jdbc.properties文件

路径
读取的类位于:package com.query.util;
?getClass().getResourceAsStream(jdbc.properties)
????? 则jdbc.properties描述的路径是相对于这个类所在包的根路径而言的,
?? 即为相对于文件夹util所在目录开始,
?getClass().getResourceAsStream(/jdbc.properties)?以/开始
?? 则/jdbc.properties描述的路径是相对于这各类当前的文件夹而言的,
?? 即为相对于文件夹com所在目录开始,

?读取的方法
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);

?一般常使用第五种

空格

?//获得文件路径,并对路径进行处理?
private static String getUrl()?
{?
??String path = configLoad.class.getResource("config.properties").toString();?
??path = path.replace("%20", " "); //引号中有一个半角的空格?
??path = path.substring(6);?
??return path;?
}?
}?
那么这里返回了一个Properties类型的值,在这里就可以使用getProperty()来获得值?
如:Properties pro = configLoad.getConfig();?
String http = pro.getProperty("url").toString();?

中文

? 在java jdk? 的bin下找到native2ascii.exe 点击输入中文得到asc码

读书人网 >编程

热点推荐