读取配置文件内容,并且解决乱码问题。

从properties里面读取文件,并且解决乱码问题

首先和xml一样,properties也是配置文件



xml与Properties的区别

1、properties配置文件,是一个属性对应于一个值(key = value)这样的键值匹对模式;每一行properties配置文件的键值,对应着一次赋值
特殊点:在前后两行properties文件中给同一个属性赋不同值,得到的结果往往是属性是后面赋值的值。properties的局限性在于,只能处理赋值。
记住了,记住了,是每一行,不管多长,写到一行里面。
2、而xml配置文件
xml配置文件则是一个树的结构,可以处理各种各样定义好的情况;

总体来说,properties配置文件易于理解配置了哪些信息,适合于简单的属性配置。
xml配置文件结构清晰,但是内容比较繁琐,我配置的时侯通常需要查阅相关文档才能保证不会错漏。


一、读取properties内容。

按照这个写就不会有那个乱码问题。

public Properties readerEvent(){
    
    
        Properties p = new Properties();
        try {
    
    
            p.load(new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream("db.properties"), "UTF-8"));
        } catch (IOException e) {
    
    
            e.printStackTrace();
        }
        return p;
    }

下面这个写法是不对的,没有想到如何读取对应的格式。就是说读取配置文件之前就不是utf-8。

InputStream in = this.getClass().getResourceAsStream("/db.properties");
        Properties p =new Properties();
        try {
    
    
            p.load(in);
        } catch (IOException e) {
    
    
            e.printStackTrace();
        }

总结

首先要自己建一个配置文件,最好规范一些,用 .properties当后缀
不要不要在application.properties里面写
最重要的是,properties是k-v对应的所以要写一行里面,它读出来是一行一行的读的。特别重要,前几天搁这个坑里呆了一下午。。。。

猜你喜欢

转载自blog.csdn.net/weixin_45906830/article/details/110443675