读取数据库配置是编码问题

rivate ConfigReader()
 {
         SAXReader reader = new SAXReader();
         reader.setEncoding("utf-8");
         InputStream in = (InputStream) Thread.currentThread().
           getContextClassLoader().getResourceAsStream("XmlConfig.xml");
         //此处Config.xml文件必须为UTF-8编码的文件
         try
         {
             //将配置文件装载到Document对象中 
             Document doc = reader.read(in);
             Element driverName = (Element)doc.selectObject("/config/db-info/driver-name");
             Element url = (Element)doc.selectObject("/config/db-info/url"); 
             Element passWord = (Element)doc.selectObject("/config/db-info/password"); 
             Element userName = (Element)doc.selectObject("/config/db-info/user-name");

             //将从xml获取的配置信息写入jdbcConfig实例中 
             jdbcConfig.setDriverName(driverName.getStringValue()); 
             jdbcConfig.setPassWord(passWord.getStringValue()); 
             jdbcConfig.setUrl(url.getStringValue()); 
             jdbcConfig.setUserName(userName.getStringValue()); 
         } catch (DocumentException  e)
         {
             // TODO: handle exception
             e.printStackTrace();
         }
 }

本人新手,在写数据库配置读取代码的时候,出现两个问题,分享一下。首先是SAXReader读取XmlConfig.xml时要设定好编码方式,要与XmlConfig.xml编码方式一样,此处是UTF-8编码,同时要注意一个问题,就是自己的XmlConfig.xml文件的编码,如果是经过复制粘贴放在.txt文件后改为.xml文件的话(我的问题就是出在这里),可能会出现实际编码方式不是UTF-8(尽管你的文件是用的这个编码方式<?xml version="1.0" encoding="UTF-8"?>)。建议建立配置文件的时候是在工程中直接建立,设置好就没有问题了。另外还要提醒一下InputStream in = (InputStream) Thread.currentThread().getContextClassLoader().getResourceAsStream("XmlConfig.xml");的默认路径为工程src目录下。希望能对你有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值