分享

java读配置文件(xml、property)的简单例子

 燮羽 2010-10-26

读property文件的例子:

package com.test;

import java.io.InputStream;
import java.util.Properties;

/**
 * 
 * CopyRight (C) www./ilovezmh  All rights reserved.<p>
 * 
 * WuHan Inpoint Information Technology Development,Inc.<p>
 * 
 * Author zhu<p>
 *
 * @version 1.0    2007-2-2
 *
 * <p>Base on : JDK1.5<p>
 *
 */

public class ReadPro {
 
 public String getPara(String fileName) {
  
  Properties prop= new Properties();
  try {
   //ClassLoader cl = this.getClass().getClassLoader(); 
   //InputStream is = cl.getResourceAsStream(fileName);
   InputStream is = this.getClass().getResourceAsStream(fileName);
   prop.load(is);
   if(is!=null) is.close();
  }
  catch(Exception e) {
   System.out.println(e+"file "+fileName+" not found");
  }
  return prop.getProperty("ip");
 }
 
 public static void main(String[] args) {
  ReadPro pro = new ReadPro();
  System.out.println(pro.getPara("ip.property"));
 }
 
 //-----------------------------------
 //ip.property内容如下:
 //ip:192.168.0.1
 
}


注意:上面使用Class和ClassLoader都是可以的,只是使用的时候路径需要注意下

    Class是把class文件所在的目录做为根目录,

    ClassLoader是把加载所有classpath的目录为根目录,也就是“..../classes”。

    如:

    使用ClassLoader:this.getClass().getClassLoader().getResourceAsStream("com/test/ip.property");

    使用Class:this.getClass().getResourceAsStream("/com/test/ip.property");

                        如果类与配置文件在同一目录下,也可

                        this.getClass().getResourceAsStream("ip.property");


用jdom读xml文件的例子:
(jdom下载)

package com.test;
import java.io.*;
import java.util.*;

import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.XMLOutputter;
import org.jdom.output.Format;

/**
 * 
 * CopyRight (C) www./ilovezmh All rights reserved.<p>
 * 
 * WuHan Inpoint Information Technology Development,Inc.<p>
 * 
 * Author zhu<p>
 *
 * @version 1.0    2007-2-1
 *
 * <p>Base on : JDK1.5<p>
 *
 */
 public class XMLReader {
  
  public void createXML(){
   
   Element root=new Element("books");
   
   Document doc=new Document(root);
   Element book1 = new Element("book");
   //Element name1=new Element("name");
   //name1.setAttribute(new Attribute("hot","true"));
   //name1.addContent("程序员");
   //Element price1=new Element("price");
   //price1.addContent("10.00");
   //book1.addContent(name1);
   //book1.addContent(price1); 
   
   Element book2 = new Element("book");
   //Element name2=new Element("name");
   //name2.setAttribute(new Attribute("hot","false"));
   //name2.addContent("读者");
   //Element price2=new Element("price");
   //price2.addContent("3.00");
   //book2.addContent(name2);
   //book2.addContent(price2);
      
   book1.addContent(new Element("name").addContent("程序员").setAttribute("hot","true"));
   book1.addContent(new Element("price").addContent("10.00"));
   book2.addContent(new Element("name").addContent("青年文摘").setAttribute("hot","false"));
   book2.addContent(new Element("price").addContent("3.00"));
   root.addContent(book1);
   root.addContent(book2);
   
   try
   {
    XMLOutputter outer=new XMLOutputter(Format.getPrettyFormat().setEncoding("gb2312"));
    outer.output(doc,new FileOutputStream("book.xml"));
   }catch(IOException e){
    e.printStackTrace();
   }
  }
  
  public void readXML() throws FileNotFoundException, IOException{
   
   Document myDoc=null;
   try
   {
    SAXBuilder sb=new SAXBuilder();
    myDoc=sb.build(new FileInputStream("book.xml"));
   }catch(JDOMException e){
    e.printStackTrace();
   }catch(NullPointerException e){
    e.printStackTrace();
   }
   
   Element root=myDoc.getRootElement(); //先得到根元素
   List books=root.getChildren();//root.getChildren("book"); 
   for (Iterator iter1 = books.iterator();iter1.hasNext(); ) {
       Element book = (Element) iter1.next();
       System.out.println("bookname:"+book.getChild("name").getText());
       System.out.println("hot:"+book.getChild("name").getAttributeValue("hot"));
       System.out.println("price:"+book.getChild("price").getText());
   }
   
  }
   
  public static void main(String args[]) throws FileNotFoundException, IOException {
  
   XMLReader x=new XMLReader();
   x.createXML();
   x.readXML();

 }

}

生成的book.xml文件如下:
<?xml version="1.0" encoding="gb2312"?>
<books>
  <book>
    <name hot="true">程序员</name>
    <price>10.00</price>
  </book>
  <book>
    <name hot="false">青年文摘</name>
    <price>3.00</price>
  </book>
</books>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约