您的位置:首页 > 编程语言 > Java开发

java.util.Properties类

2006-12-25 23:48 295 查看
说明的是,这里可以读写一般的properties文件,也可以对付XML文件,但是这个XML文件格式要求是定死了,
不是很灵活,看看我写的几个例子就自然明白

import java.io.*;
import java.util.Properties;
class PropertiesExam
{
 String fileName;
 Properties propCommon;
 Properties propFromXML;
 public PropertiesExam(String commonFileName,String XMLFileName)
 {
  this.fileName=fileName;
  try
  {
   InputStream fin =new BufferedInputStream(new FileInputStream(commonFileName));
   propCommon=new Properties();
   propCommon.load(fin);

   fin =new BufferedInputStream(new FileInputStream(XMLFileName));
   propFromXML=new Properties();
   propFromXML.loadFromXML(fin);
   fin.close();

  }
  catch (FileNotFoundException e)
  {
   System.err.println("配置文件config.properties找不到!!");
   e.printStackTrace();
     }

  catch (Exception e)
  {
   System.err.println("读取配置文件config.properties错误!!");
   e.printStackTrace();
  }
  
 }
 
 public static void main(String[] args)
 {
  PropertiesExam p=new PropertiesExam("prop.properties","properties.xml");
  /***********              ***********
    **********   普通文件   *********
  ***********                **********/
  
  /***写入*/
  p.propCommon.setProperty("age","27");
  /****列出文件所有 键=值  ***/
  p.propCommon.list(System.out);

  /****列出文件中name键对应的值***/
  System.out.println("name的值是: " +p.propCommon.getProperty("name"));

 

  /***********                ***********
    **********  XML文件       *********
  ***********                **********/

  /****列出文件所有 键=值  ***/
  p.propFromXML.list(System.out);

  /****列出文件中name键对应的值***/
  System.out.println("name的值是: " +p.propFromXML.getProperty("name"));

  try
  {
   Properties propWriteXML = new Properties();
   propWriteXML.setProperty("one-two", "buckle my shoe");
   propWriteXML.setProperty("three-four", "shut the door");

   OutputStream fos =new BufferedOutputStream(new FileOutputStream("output.xml"));
   //FileOutputStream fos =new FileOutputStream("rhyme.xml");
   propWriteXML.storeToXML(fos, "JustAJoke");
   fos.close();
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
  
 }
}

 一下是XML文件的DTD,这个是固定的,下面的选择JDK API说明:

<?xml version="1.0" encoding="UTF-8"?>

<!-- DTD for properties -->

<!ELEMENT properties ( comment?, entry* ) >

<!ATTLIST properties version CDATA #FIXED "1.0">

<!ELEMENT comment (#PCDATA) >

<!ELEMENT entry (#PCDATA) >

<!ATTLIST entry key CDATA #REQUIRED>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息