首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

施用J2SE API读取Properties文件的六种方法

2012-07-15 
使用J2SE API读取Properties文件的六种方法1。使用java.util.Properties类的load()方法示例: InputStream i

使用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); 



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("关闭流失败");}}}

热点排行