zoukankan      html  css  js  c++  java
  • java项目中读取配置文件

    一些基本的方法

     1 import java.io.FileInputStream;
     2 import java.io.FileNotFoundException;
     3 import java.io.FileOutputStream;
     4 import java.io.IOException;
     5 import java.util.Properties;
     6 
     7 
     8 public class GetConfigration {
     9 
    10 
    11     private static Properties prop;
    12     
    13     public static void load(String path){
    14         //这里的path是项目文件的绝对路径
    15         //先获取项目绝对路径:Thread.currentThread().getContextClassLoader().getResource("").getPath();
    16         prop= new Properties();// 属性集合对象   
    17         FileInputStream fis;  
    18         try {  
    19             //System.out.println(path);
    20             fis = new FileInputStream(path);
    21             prop.load(fis);
    22             fis.close();// 关闭流  
    23         } catch (FileNotFoundException e) {  
    24             e.printStackTrace();  
    25         } catch (IOException e) {  
    26             e.printStackTrace();  
    27         } 
    28     }
    29     
    30     //参数为要修改的文件路径  以及要修改的属性名和属性值  
    31     public static Boolean updatePro(String path,String key,String value){
    32         if(prop==null){
    33             load(path);
    34             System.out.println("修改前重新加载一遍");
    35         }
    36         System.out.println("获取添加或修改前的属性值:"+key+"=" + prop.getProperty(key));
    37         prop.setProperty(key, value);   
    38         // 文件输出流   
    39         try {  
    40             FileOutputStream fos = new FileOutputStream(path);   
    41             // 将Properties集合保存到流中   
    42             prop.store(fos, "Copyright (c) Boxcode Studio");   
    43             fos.close();// 关闭流   
    44         } catch (FileNotFoundException e) {  
    45             // TODO Auto-generated catch block  
    46             e.printStackTrace();  
    47             return false;  
    48         } catch (IOException e) {  
    49             // TODO Auto-generated catch block  
    50             e.printStackTrace();  
    51             return false;  
    52         }  
    53         System.out.println("获取添加或修改后的属性值:"+key+"=" + prop.getProperty(key));
    54         return true;  
    55     }  
    56     
    57   //参数为要修改的文件路径  以及要修改的属性名和属性值  
    58     public static String getPro(String path,String key){  
    59         String absolutePath=Thread.currentThread().getContextClassLoader().getResource("").getPath();
    60         if(prop==null){
    61             load(absolutePath+path);
    62             //System.out.println("重新加载一遍");
    63         }
    64         FileInputStream fis;  
    65         try {  
    66             fis = new FileInputStream(absolutePath+path);  
    67             prop.load(fis);// 将属性文件流装载到Properties对象中   
    68             fis.close();// 关闭流  
    69         } catch (FileNotFoundException e) {  
    70             e.printStackTrace();  
    71         } catch (IOException e) {  
    72             e.printStackTrace();  
    73         }  
    74        // System.out.println("查询到的"+key+"的值:"+prop.getProperty(key));
    75         return prop.getProperty(key);  
    76     }  
    77 
    78 
    79 }
    View Code

    调用

    String sPath=GetConfigration.getPro("config/application.properties","cloudPath");
    String score=GetConfigration.getPro("config/application.properties","syncScoreApi");

  • 相关阅读:
    Win32中精确计时器(微秒级)
    一个封装文件操作和目录操作的类
    CString
    两个经典的RGB与YUV转换函数
    C++文件流
    HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型
    MPEG4与H264区别,编码及应用
    C file文件基本知识
    RGB ,YUV, YCbCr的定义
    在android平台上测试C/C++程序及库
  • 原文地址:https://www.cnblogs.com/songStar/p/9639177.html
Copyright © 2011-2022 走看看