web工程读取自定义xml配置文件的方法
来源:互联网 发布:macbook linux 编辑:程序博客网 时间:2024/06/11 10:01
以前都是在c++中我都是习惯用ini配置文件,接触webx框架后,一般都是用得配置好的xml文件,偷懒结果就是把自己给坑了。在需要自定义配置文件的之后踩到了坑,特此记录下。
此处我想读取名为test.xml文件中的配置信息。
第一步就是要获取这个文件的路径:
千万不要使用System.getProperty("user.dir");
这java应用中可以获取到的工程目录,但是在web应用中却不行,web应用中用的都是运行时路径,比如用tomcat启动的应用,可能加载test.xml文件时的路径可能就像
tomcat/deploy/ROOT/WEB-INF/lib/mytest.jar!/
这时候的路径就和普通的本地java应用的路径不一样。应该利用类加载路径classpath来获取文件路径。比如:
java.net.URL configUrl= this.getClass().getResource(File.separator+ "aNewTest/test.xml");
此处File.separator相当于一个左斜杠“/',因为linux环境用的分隔符是”/“,而Windows文件路径中用的风格符是”\“,所以File.separator可以满足兼容性的需要,如下的格式在两种 平台上都适用
java.net.URL configUrl= this.getClass().getResource(File.separator+ "aNewTest"+File.separator+"test.xml");
获取文件路径还可以用另外一种方式,就是利用classLoader
java.net.URL configUrl = Thread.currentThread().getContextClassLoader().getResource("aNewTest"+File.separator+"test.xml");两种方式有稍微的却别,第二种方式在传入参数的时候字符串开头是不需要 文件分隔符"/"或者“\”,不能弄混淆,否则就会报错找不到文件了。
第二步就是读取配置文件中的内容:
利用jdom就可以了,先引包
然后通过第一步中的文件路径读取配置文件
Document document = new SAXBuilder().build(configUrl);//获取文件Element root = document.getRootElement();//获取到xml文件的根节点元素Element mytest=root.getChild("test");//通过根节点获取到它的直属子节点test元素mytest.setText("hello word")//可以给某一个节点设置valueStringWriter writer = new StringWriter();new XMLOutputter().output(document, writer);//将文档内容写进StringWriterString temp=writer.toString();//转换成自己想要的字符串writer.close();
在使用new SAXBuilder().build(configUrl)的时候,
参数最好传入文件的URL地址或者是InputStream对象,如果直接使用文件的字符串地址很容易出错,使用字符串地址如果是硬盘绝对路径那可以运行,否则在web应用中肯定会报错,比如用如下的方式肯定就会报错,千万不要使用
String configPath= this.getClass().getResource(File.separator + "aNewTest"+File.separator+"test.xml").getPath(); Document document = new SAXBuilder().build(configPath);这样就会报找不到指定文件的error了
- web工程读取自定义xml配置文件的方法
- web工程中读取properties配置文件方法
- 读取xml配置文件的方法
- linux读取自定义的配置文件方法
- 解读WEB工程下的web.xml配置文件
- tomcat web 工程下配置文件读取的问题
- XML 配置文件的读取
- 怎样获得(读取)web.xml配置文件的参数
- web.xml加载自定义配置文件(.xml)
- Web.xml文件 - 工程初始化配置文件
- Web.xml文件 - 工程初始化配置文件解析
- Spring --web工程下xml配置文件部署
- 读取Spring的配置文件applicationContext.xml的5种方法
- 读取Spring的配置文件applicationContext.xml的5种方法
- spring读取properties和xml配置文件的方法
- 读取Spring的配置文件applicationContext.xml几种方法
- .net中webform,winform读取xml配置文件的方法
- java读取xml和property配置文件的方法
- cocos2dx 接入苹果内购 代码实现
- Emacs 基础命令
- IE为什么把火狐和Chrome给打伤了?
- Bond Services
- Android中Service的启动流程
- web工程读取自定义xml配置文件的方法
- BBC news reading2---tain 词根
- HDU 5769 后缀数组
- webView支持H5上传图片
- POJ 2115 C Loooooops
- Android XML 布局
- 工具、链接推荐
- ViewPager无限轮播
- Json示例(1)