收藏私塾在线
 

欢迎您来到私塾在线网!   

请登录! 

免费注册 

交流首页 » Java »java读取配置文件  XML
发表人 内容
华丽的转身
[头像]

交流经验:
总积分:2485
级别:VIP1
注册时间: 2011-10-18
文章: 37
离线


java代码:
package com;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

/**
* <p>读取配置文件properties文件</p>
*/
public class Configuration {
     private Properties pro;
     private FileInputStream inputFile;
     private FileOutputStream outputFile;

     public Configuration(){
          pro = new Properties();
     }

     /**
      * <p>初始化Configuration类</p>
      * @param filePath 要读取的配置文件的路径+名称
      */
     public Configuration(String filePath){
         pro = new Properties();
         try {
             //读取属性文件
             inputFile = new FileInputStream(filePath);
             //装载文件
             pro.load(inputFile);
             inputFile.close();
         } catch (FileNotFoundException e) {
             System.out.println("读取属性文件--->失败!- 原因:文件路径错误或者文件不存在");
             e.printStackTrace();
         } catch (IOException e) {
             System.out.println("装载文件--->失败!");
             e.printStackTrace();
         }
     }

     /**
      * <p>得到key值</p>
      * @param key 取得其值的键
      * @return 取得键值
      */
     public String getValue(String key){
         if(pro.containsKey(key)){
             String value = pro.getProperty(key);
             return value;
         }else{
             return "";
         }
     }

     /**
      * <p>得到key值</p>
      * @param filePath properties文件的路径+文件名
      * @param key 取得其值的键
      * @return 取得键值
      */
     public String getValue(String filePath, String key){
         try {
             String value = "";
             inputFile = new FileInputStream(filePath);
             pro.load(inputFile);
             inputFile.close();
             if(pro.contains(key)){
                 value = pro.getProperty(key);
                 return value;
             }else{
                 return "";
             }
         } catch (FileNotFoundException e) {
             e.printStackTrace();
             return "";
         } catch (IOException e) {
             e.printStackTrace();
             return "";
         } catch (Exception e) {
             e.printStackTrace();
             return "";
         }
     }

     /** 
      * <p>清除properties文件中所有的key和其值</p>
      */
     public void clear(){
         pro.clear();
     }

     /**
      * <p>改变或添加一个key的值</p>
      * 当key存在于properties文件中时该key的值被value所代替,
      * 当key不存在时,该key的值是value
      * @param key 要存入的键
      * @param value 要存入的值
      */
     public void setValue(String key, String value){
         pro.setProperty(key, value);
     }

     /** 
      * <p>将更改后的文件数据存入指定的文件中,该文件可以事先不存在</p>
      * @param fileName 文件路径+文件名称
      * @param description 对该文件的描述
      */
     public void saveFile(String fileName, String description){
         try {
             outputFile = new FileOutputStream(fileName);
             pro.store(outputFile, description);
             outputFile.close();
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         } catch (IOException ioe){
             ioe.printStackTrace();
         }
     }

     /**
      * 测试方法
      * @param args
      */
     public static void main(String[] args) {
         Configuration conf = new Configuration(".\\.\\WebContent\\WEB-INF\\jdbc.properties");
         String value = conf.getValue("hibernate.dialect");
         System.out.println(value);
     }
} 

这篇文章被编辑了 1 次. 最近一次更新是在 2011-10-20 09:20:56


推广链接
精品视频课程推荐

Java数据结构和算法精讲版
本课程专注于数据结构和算法的内容,使用Java来进行代码示例,不空洞的讲解概念和理论,重点放在代码的实现和示例上。 从零开始、全面系统、成体系的讲解数据结构和基本算法,循序渐进的讲述构建软件系统所常见的数据结构和算法。

透彻理解JavaBean视频教程
深入浅出的讲解JavaBen的写法、JavaBean的用法、JavaBean的实现机制、JavaBean对应翻译的代码理解。

研磨设计模式——跟着cc学设计系列视频教程
本视频课程是北京Java私塾原创精品书籍《研磨设计模式》一书的配套学习视频,由《研磨设计模式》的第一作者CC录制 课程目标:全面、系统的掌握GoF设计模式的知识,达到可以在实际项目开发中运用的能力 技术要点:如何实现可配置、如何实现缓存以及缓存的管理、如何实现用缓存来控制多实例的创建、如何实现参数化工厂、 如何实现可扩展工厂、如何实现原型管理器、如何实现Java的静态代理和动态代理、如何实现多线程处理队列请求、 如何实现命令的参数化配置、可撤销的操作、宏命令、队列请求和日志请求、如何实现翻页迭代、如何检测环状结构、 如何实现通用的增删改查、如何模拟工作流来处理流程、如何实现简单又通用的XML读取、如何实现模拟AOP的功能......

ssh+jbpm项目(某集团OA)视频教程
达到能综合使用Struts2+Spring3+Hibernate3+Jbpm4来进行实际项目开发的能力。 包括:ssh和jbpm的整合;数据字典;通用DAO(Spring+Hibernate+泛型+反射+SpEL+模板方法模式);自动生成UUID的加强版;分层开发、SSH联合的基本开发;翻页的taglib;示范真实值和表现值,数据参照的实现;文件上传下载;主子表操;登录验证码;登录控制的拦截器

Javascript基础视频教程
JavaScript的内置对象--Array、String、Date、Math等,可以通过DOM对象进行对象控制,创建控制菜单及复选框的控制,创建二级联动列表框及列表框选项的移动,JavaScript项目,创建基于JS的商品管理系统。



个性签名:自己走自己的路,不要一味的只是去羡慕别人,你也可以的
cyanfang
[头像]

交流经验:
总积分:306
级别:普通会员
注册时间: 2012-01-18
文章: 8
离线

好,赚积分



个性签名:学习
ruochen99liu
[头像]

交流经验:
总积分:106
级别:普通会员
注册时间: 2012-03-23
文章: 16
离线

不错,

 
交流首页 » Java
前往:   

关于我们 | 联系我们 | 用户协议 | 私塾在线服务协议 | 版权声明 | 隐私保护

版权所有 Copyright(C)2009-2012 私塾在线学习网