简单读properties文件的例子

读取classpath下的properties文件并存到字典中

public void contextInitialized(ServletContextEvent servletContextEvent) {
        InputStream in = getClass().getClassLoader().getResourceAsStream("/upload.properties");

        Properties properties = new Properties();
        try {
            properties.load(in);

            for(Map.Entry<Object,Object > prop: properties.entrySet())
            {
                String propertyName = (String) prop.getKey();
                String propertyValue = (String) prop.getValue();
                FileUploadProperties.getInstance().addProperty(propertyName,propertyValue);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
其中
getClass().getClassLoader().getResourceAsStream("/upload.properties");
getClass().getResourceAsStream("/upload.properties");
的区别如下:

Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致。

     例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下查找相应的资源。

     如果这个name是以 '/' 开头的,那么就会从classpath的根路径下开始查找。

  

    ClassLoader.getResourceAsStream()  无论要查找的资源前面是否带'/' 都会从classpath的根路径下查找。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,我们可以使用java.util.Properties取.properties文件,并将其转换为Map对象。 首先,我们需要创建一个Properties对象,并通过load()方法加载.properties文件。然后,我们可以通过getProperty(key)方法获取每个键对应的值,并将其存储在Map对象中。 下面是一个示例代码: ```java import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Map; import java.util.Properties; public class ReadPropertiesToMapExample { public static void main(String[] args) { // 创建一个Map对象,用于存储.properties文件的键值对 Map<String, String> propertiesMap = new HashMap<>(); // 取.properties文件并将其转换为Map try (InputStream input = new FileInputStream("example.properties")) { Properties properties = new Properties(); properties.load(input); // 将.properties文件中的键值对存储在Map对象中 for (String key : properties.stringPropertyNames()) { String value = properties.getProperty(key); propertiesMap.put(key, value); } } catch (IOException e) { e.printStackTrace(); } // 输出Map对象的内容 for (Map.Entry<String, String> entry : propertiesMap.entrySet()) { System.out.println(entry.getKey() + "=" + entry.getValue()); } } } ``` 以上代码中,我们通过创建一个Map对象propertiesMap来存储.properties文件的键值对。然后,我们使用Properties类的load()方法来加载.properties文件。接下来,我们使用getProperty(key)方法获取每个键对应的值,并将其存储在propertiesMap中。最后,我们通过遍历Map对象来输出其内容。 需要注意的是,示例代码中的"example.properties"为需要取的.properties文件路径,请根据实际情况进行替换。 希望以上回答能够解决你的问题,如果还有其他疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值