`
liujunhg
  • 浏览: 29004 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

properties生成与解析配置文件

    博客分类:
  • java
阅读更多

 

  1. Properties类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。可用来读取和设置配置文件如.xml文件,.properties文件
  2. 实例如下:
  3. package test;   
  4.   
  5. import java.io.File;   
  6. import java.io.FileInputStream;   
  7. import java.io.FileNotFoundException;   
  8. import java.io.FileOutputStream;   
  9. import java.io.IOException;   
  10. import java.io.InputStream;   
  11. import java.util.InvalidPropertiesFormatException;   
  12. import java.util.Properties;   
  13.   
  14. public class TestProperties {   
  15.     public static final String DB_DRIVERNAME="driverName";   
  16.     public static final String DB_URL="url";   
  17.     public static final String DB_USERNAME="username";   
  18.     public static final String DB_PWD="pwd";   
  19.     public static final String SYSTEMFILE_PROPERTIES="webapps/WEB-INF/classes/test/tp.properties";    //路径视实际情况而定,参加令一篇文章 http://liujunhg.iteye.com/blog/1039168 (java中路径的问题)
  20.     public static final String SYSTEMFILE_PROPERTIES2="webapps/WEB-INF/classes/test/tp2.properties";   
  21.     public static final String SYSTEMFILE_XML="webapps/WEB-INF/classes/test/tp.xml";   
  22.     public static final String SYSTEMFILE_XML2="webapps/WEB-INF/classes/test/tp2.xml";   
  23.     protected Properties properties=null;   
  24.     public TestProperties(){   
  25.         //this(SYSTEMFILE_PROPERTIES);   
  26.     }   
  27.     private TestProperties(String fileName){   
  28.            
  29.         //loadProperties(SYSTEMFILE_PROPERTIES);   
  30.            
  31.         this.loadXML(SYSTEMFILE_XML);   
  32.     }   
  33.     //解析properties文件   
  34.     public void loadProperties(String fileName){   
  35.         File file=new File(fileName);   
  36.         InputStream in=null;   
  37.         properties=new Properties();   
  38.   
  39.         if(file.exists()){   
  40.             try {   
  41.                 in=new FileInputStream(file);   
  42.                 properties.load(in);   
  43.             } catch (FileNotFoundException e) {   
  44.   
  45.                 e.printStackTrace();   
  46.             } catch (IOException e) {
  47.                 e.printStackTrace();   
  48.             }finally{   
  49.                 if(in!=null){   
  50.                     try {   
  51.                         in.close();   
  52.                     } catch (IOException e) {   
  53.  
  54.                         e.printStackTrace();   
  55.                     }   
  56.                     in=null;   
  57.                 }   
  58.             }   
  59.   
  60.         }else{   
  61.             System.out.println("文件不存在!");   
  62.         }   
  63.   
  64.     }   
  65.        
  66.     //解析XML文件   
  67.     public void loadXML(String filename){   
  68.         File file=new File(SYSTEMFILE_XML);   
  69.         InputStream in=null;   
  70.         properties=new Properties();   
  71.            
  72.         if(file.exists()){   
  73.             try {   
  74.                 in=new FileInputStream(file);   
  75.                 properties.loadFromXML(in);   
  76.             } catch (FileNotFoundException e) {   
  77.                 e.printStackTrace();   
  78.             } catch (InvalidPropertiesFormatException e) {   
  79.  
  80.                 e.printStackTrace();   
  81.             } catch (IOException e) {   
  82.                 if(in!=null){   
  83.                     try {   
  84.                         in.close();   
  85.                     } catch (IOException e1) {   
  86.                         e1.printStackTrace();   
  87.                     }   
  88.                     in=null;   
  89.                 }   
  90.                 e.printStackTrace();   
  91.             }   
  92.                
  93.         }else{   
  94.             System.out.println("文件不存在!");   
  95.         }   
  96.     }   
  97.        
  98.     //设置properties文件   
  99.     public void storeProperties(){   
  100.         properties=new Properties();   
  101.         properties.setProperty(DB_DRIVERNAME, "oracle.jdbc.driver.OracleDriver");   
  102.         properties.setProperty(DB_URL, "jdbc:oracle:thin@127.0.0.1:1521:orcl");   
  103. //      properties.setProperty(DB_USERNAME, "test2");   
  104. //      properties.setProperty(DB_PWD, "test2");   
  105.         File file=new File(SYSTEMFILE_PROPERTIES2);   
  106.         FileOutputStream fo=null;   
  107.  
  108.         try {   
  109.             fo=new FileOutputStream(file);   
  110.             properties.store(fo, "test");   
  111.         } catch (FileNotFoundException e) {   
  112.             e.printStackTrace();   
  113.         } catch (IOException e) {    
  114.             e.printStackTrace();   
  115.         }finally{   
  116.             if(fo!=null){   
  117.                 try {   
  118.                     fo.close();   
  119.                 } catch (IOException e) {  
  120.                     e.printStackTrace();   
  121.                 }   
  122.                 fo=null;   
  123.             }   
  124.         }   
  125.            
  126.     }   
  127.        
  128.     //设置XML文件   
  129.     public void storeXML(){   
  130.         properties=new Properties();   
  131.         properties.setProperty(DB_DRIVERNAME, "oracle.jdbc.driver.OracleDriver");   
  132.         properties.setProperty(DB_URL, "jdbc:oracle:thin@127.0.0.1:1521:orcl");   
  133.         properties.setProperty(DB_USERNAME, "test2");   
  134.         properties.setProperty(DB_PWD, "test2");   
  135.         File file=new File(SYSTEMFILE_XML2);   
  136.         FileOutputStream fo=null;   
  137.         try {   
  138.             fo=new FileOutputStream(file);   
  139.             properties.storeToXML(fo, "conn");   
  140.         } catch (FileNotFoundException e) {  
  141.             e.printStackTrace();   
  142.         } catch (IOException e) {  
  143.             e.printStackTrace();   
  144.         }finally{   
  145.             if(fo!=null){   
  146.                 try {   
  147.                     fo.close();   
  148.                 } catch (IOException e) {  
  149.                     e.printStackTrace();   
  150.                 }   
  151.                 fo=null;   
  152.             }   
  153.         }   
  154.     }   
  155.     public String getDrivername(){   
  156.         return (String)properties.getProperty(DB_DRIVERNAME);   
  157.     }   
  158.     public String getURL(){   
  159.   
  160.         return (String)properties.getProperty(DB_URL);   
  161.     }   
  162.     public String getName(){   
  163.         return (String)properties.getProperty(DB_USERNAME);   
  164.     }   
  165.     public String getPWD(){   
  166.         return (String)properties.getProperty(DB_PWD);   
  167.     }   
  168.   
  169.     public static void main(String args[]){   
  170.         TestProperties tp=new TestProperties();   
  171. //      System.out.println(tp.getDrivername());   
  172. //      System.out.println(tp.getURL());   
  173. //      System.out.println(tp.getName());   
  174. //      System.out.println(tp.getPWD());   
  175.         //tp.storeXML();   
  176.         tp.storeProperties();   
  177.   
  178.     }   
  179. }  
  180. tp.properties:
  181. url=jdbc:oracle:thin@127.0.0.1:1521:orcl
    driverName=oracle.jdbc.driver.OracleDriver
    username=123
    pwd=123
  182. tp.xml
  183. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
    <properties>
    <comment>Hi</comment>
    <entry key="url">jdbc:oracle:thin@127.0.0.1:1521:orcl</entry>
    <entry key="driverName">oracle.jdbc.driver.OracleDriver</entry>
    <entry key="username">123</entry>
    <entry key="pwd">123</entry>
    </properties>
2
3
分享到:
评论

相关推荐

    SpringBoot全局配置文件(properties)与yml配置文件.docx

    Spring Boot支持两种主要的全局配置文件格式:`application.properties` 和 `application.yml`。下面我们将深入探讨这两种配置文件及其特性。 一、`application.properties` 配置文件 1. **修改内嵌容器端口号**:...

    解析配置文件

    4. **验证与默认值**:在解析配置文件时,可能会对输入值进行验证,确保它们符合预期的类型和范围。同时,提供默认值可以防止因缺少配置项导致的程序崩溃。 5. **国际化与本地化**:对于多语言支持的应用,配置文件...

    项目生成与读取配置文件测试

    - 环境变量:测试配置文件与环境变量的优先级和合并策略。 - 安全性:确保敏感信息加密存储,且在代码中不直接暴露。 通过这个测试项目,开发者不仅可以掌握配置文件的管理,还能提升项目的安全性和可扩展性。在...

    读取properties返回map并写入文件

    在Java编程中,处理配置文件通常是一个常见的任务,特别是.properties文件。这些文件用于存储应用程序的配置参数,便于管理和更改。本篇文章将详细讲解如何读取.properties文件,将其内容转化为Map对象,以及如何将...

    SpringBoot获取yml和properties配置文件的内容

    然后,`@ConfigurationProperties`注解的`prefix`应该设为`myProps`,并且在`YmlConfig`类中,属性名需要与配置文件中的键匹配。 总的来说,Spring Boot通过`@ConfigurationProperties`和`@Component`注解使得从`...

    解析XML和Propertites配置文件

    标题中的“解析XML和Propertites配置文件”指的是在软件开发中处理两种常见的配置文件格式。XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,具有良好的结构化特性,常用于应用程序的配置、...

    log4j.properties配置详解

    2. **通过命令行参数传递配置文件名**:使用`PropertyConfigurator.configure(args[x])`来解析并配置。 3. **通过环境变量传递配置文件名**:利用Log4j默认的初始化过程进行解析和配置。 4. **通过应用服务器配置...

    在javascript文件中读取properties文件需要的插件jquery.i18n.properties-min-1.0.9.js

    `jquery.i18n.properties`插件的主要功能是在客户端动态加载和解析.properties文件,使得开发者能够方便地获取并显示与用户语言环境相关的文本内容。它支持多种特性,如自动检测用户浏览器的语言设置、加载多个语言...

    java解析DWG文件为json使用superMap

    在Eclipse中,右键点击jar文件,选择“Properties”,然后在“Javadoc Location”选项中指定在线或本地的帮助文档。SuperMap提供在线和离线两种方式,你可以根据实际情况选择。 在线帮助可以直接输入官方提供的URL...

    使用xDoclet自动生成Spring的bean的配置文件

    首先,xDoclet是一款基于Java文档注解(Javadoc)的代码生成工具,它能够通过解析类、接口、方法等Java源代码中的特定注解,自动生成相应的配置文件或代码。在Spring框架中,我们可以利用xDoclet自动生成XML配置文件...

    java 一键读取yaml、propertites配置文件内容,转换为一级map

    纯java底层读取配置文件,生成map,可以根据key模糊匹配查询,封装好了方法。比如getVal("spring.dubbo*url")

    android中读取properties文件

    在Android开发中,读取`properties`文件是一个常见的任务,主要用于存储配置信息或者与Java中的`.properties`文件进行交互。`.properties`文件是一种简单的...理解这些知识点有助于开发者更高效地管理和使用配置文件。

    Java如何读取配置文件

    三、使用Properties配置文件 Java内置了`java.util.Properties`类来处理.properties文件。这类文件常用于存储应用的属性配置。 ```java import java.io.IOException; import java.util.Properties; Properties ...

    JAVA高手解析XML配置文件的读取操作.doc

    标题和描述均指向了一个主题——如何在Java中解析XML配置文件。这不仅是IT专业人士,特别是Java开发者必须掌握的一项技能,因为XML(可扩展标记语言)作为一种标准的数据存储和传输格式,在许多应用程序中扮演着配置...

    java程序生成kettle转换ktr文件

    Java程序生成Kettle转换(KTR)文件是一个技术性较强的话题,主要涉及到Java编程语言...同时,理解并正确使用配置文件,如`ESAPI.properties`和`validation.properties`,能够确保在数据处理过程中实施适当的安全措施。

    log4j_properties配置详解

    #### 一、配置文件结构与基本概念 Log4j 是一个功能强大的日志框架,广泛应用于Java应用程序中。它允许开发者通过配置文件来控制日志信息的生成方式、存储位置及格式。Log4j 的配置文件支持多种格式,最常见的是...

    JAVA读取数据库的XML配置文件

    接下来介绍如何使用SAX(Simple API for XML)来解析上述XML配置文件。SAX是一种基于事件驱动的XML解析方式,非常适合于处理大型文件。 ##### 1. 定义解析器类`ConfigParser` ```java package roadmin.Conn; ...

    Java Properties 解决中文乱码和顺序读写.docx

    Java Properties 类是Java标准库中用于处理配置文件的关键组件,主要负责存储和加载键值对数据,常用于管理应用程序的配置信息。配置文件通常以`.properties`为扩展名,采用文本格式,每行包含一个键值对,键和值...

    Java开发中读取XML与properties配置文件的方法

    在Java开发中,XML和properties配置文件是常见的数据存储和管理格式,用于存储应用程序的配置信息、数据库连接参数等。理解如何读取这两种类型的配置文件对于Java开发者来说至关重要。 1. **XML文件**: - **定义*...

    SSM文件生成工具

    它可以帮助开发者快速生成配置文件和必要的代码,大大提升了开发效率,降低了手动编写这些文件的工作量。 在使用SSM文件生成工具时,首先你需要配置相关的properties文件。这些文件通常包含了数据库连接信息、项目...

Global site tag (gtag.js) - Google Analytics