6.读写Properties文件的方法

package edu.njusttz.utils;

 

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("config.properties"); 

         String value = conf.getValue("saveurl"); 

         System.out.println(value); 

     } 

}  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值