资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Java读取Properties文件的六种方法Java读取properties文件 【转】 使用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);完整的示例,可以参考附件文件如何上传文件,谁知道请告诉以下。 只好把source都贴上来了JProperties.java文件package com.kindani;/import javax.servlet.ServletContext;import java.util.*;import java.io.InputStream;import java.io.IOException;import java.io.BufferedInputStream;import java.io.FileInputStream;public class JProperties public final static int BY_PROPERTIES = 1;public final static int BY_RESOURCEBUNDLE = 2;public final static int BY_PROPERTYRESOURCEBUNDLE = 3;public final static int BY_CLASS = 4;public final static int BY_CLASSLOADER = 5;public final static int BY_SYSTEM_CLASSLOADER = 6;public final static Properties loadProperties(final String name, final int type) throws IOException Properties p = new Properties();InputStream in = null;if (type = BY_PROPERTIES) in = new BufferedInputStream(new FileInputStream(name);assert (in != null);p.load(in); else if (type = BY_RESOURCEBUNDLE) ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault();assert (rb != null);p = new ResourceBundleAdapter(rb); else if (type = BY_PROPERTYRESOURCEBUNDLE) in = new BufferedInputStream(new FileInputStream(name);assert (in != null);ResourceBundle rb = new PropertyResourceBundle(in);p = new ResourceBundleAdapter(rb); else if (type = BY_CLASS) assert (JProperties.class.equals(new JProperties().getClass();in = JProperties.class.getResourceAsStream(name);assert (in != null);p.load(in);/ return new JProperties().getClass().getResourceAsStream(name); else if (type = BY_CLASSLOADER) assert (JProperties.class.getClassLoader().equals(new JProperties().getClass().getClassLoader();in = JProperties.class.getClassLoader().getResourceAsStream(name);assert (in != null);p.load(in);/ return new JProperties().getClass().getClassLoader().getResourceAsStream(name); else if (type = BY_SYSTEM_CLASSLOADER) in = ClassLoader.getSystemResourceAsStream(name);assert (in != null);p.load(in);if (in != null) in.close();return p;/ - servlet used/ - support classpublic static class ResourceBundleAdapter extends Properties public ResourceBundleAdapter(ResourceBundle rb) assert (rb instanceof java.util.PropertyResourceBundle);this.rb = rb;java.util.Enumeration e = rb.getKeys();while (e.hasMoreElements() Object o = e.nextElement();this.put(o, rb.getObject(String) o);private ResourceBundle rb = null;public ResourceBundle getBundle(String baseName) return ResourceBundle.getBundle(baseName);public ResourceBundle getBundle(String baseName, Locale locale) return ResourceBundle.getBundle(baseName, locale);public ResourceBundle getBundle(String baseName, Locale locale, ClassLoader loader) return ResourceBundle.getBundle(baseName, locale, loader);public Enumeration getKeys() return rb.getKeys();public Locale getLocale() return rb.getLocale();public Object getObject(String key) return rb.getObject(key);public String getString(String key) return rb.getString(key);public String getStringArray(String key) return rb.getStringArray(key);protected Object handleGetObject(String key) return (PropertyResourceBundle) rb).handleGetObject(key);JPropertiesTest.java文件package com.kindani.test;import junit.framework.*;import com.kindani.JProperties;/import javax.servlet.ServletContext;import java.util.Properties;public class JPropertiesTest extends TestCase JProperties jProperties;String key = helloworld.title;String value = Hello World!;public v
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号