import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.util.Properties;

import org.apache.log4j.Logger;

public final class PropertyUtil {

private static Logger LOG = Logger.getLogger(PropertyUtil.class);

// 配置文件

private static Properties demoProps = new Properties();

// 单例模式

private static PropertyUtil instance = null;

private PropertyUtil() {

// user.dir为应用目录

String filePath = System.getProperty("user.dir") + File.separator

+ "WEB-INF" + File.separator + "classes" + File.separator

+ "resources" + File.separator;

LOG.info(filePath);

try {

File demoFile = new File(filePath + "demo.properties");

if (httpFile.exists()) {

demoProps.load(new FileInputStream(filePath

+ "demo.properties"));

}

} catch (IOException e) {

LOG.info("The Exception occured.", e);

}

}

public synchronized static PropertyUtil getInstance() {

if (null == instance) {

instance = new PropertyUtil();

}

return instance;

}

/**

* 获取参数值

*

* @param key

* properites的key值

* @param defValue

* 默认值

* @return

*/

public String getValues(String key, String defValue) {

String rtValue = null;

if (null == key) {

LOG.error("key is null");

} else {

rtValue = getPropertiesValue(key);

}

if (null == rtValue) {

LOG.warn("PropertyUtil.getValues return null, key is " + key);

rtValue = defValue;

}

LOG.info("PropertyUtil.getValues: key is " + key + "; Value is "

+ rtValue);

return rtValue;

}

/**

* 根据key值获取server.properties的值

*

* @param key

* @return

*/

private String getPropertiesValue(String key) {

String rtValue = demoProps.getProperty(key);

return rtValue;

}

}

原文:http://blog.51cto.com/jtech/2154081

java user.dir 设置_使用java系统属性user.dir读取配置文件相关推荐

  1. java word 颜色设置_通过Java设置Word页面背景色过程详解

    前言 Word中可以针对不同文档排版设计要求来设置背景设置颜色.常见的可设置单一颜色.渐变色或加载图片来设置成背景.下面通过Java来设置以上3种Word页面背景色. 使用工具:Spire.Doc f ...

  2. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  3. bigdicmal除法精度设置_使用java求高精度除法,要求保留N位小数

    题目要求是高精度除法,要求保留N位小数(四舍五入),并且当整数部分为0时去除0的显示 import java.math.BigDecimal; import java.util.Scanner; pu ...

  4. eclipse java启动参数设置_[Java教程]eclipse.ini配置eclipse的启动参数

    [Java教程]eclipse.ini配置eclipse的启动参数 0 2013-09-28 01:00:11 Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$EC ...

  5. java更改包名称_更改Java包名称如何改变我的系统架构

    java更改包名称 即使只是少量更改角度,也可能对您如何使用系统产生深远影响. 假设您正在用Java编写Web应用程序. 在系统中,您处理订单,客户和产品. 作为一个Web应用程序,您的类包括诸如Co ...

  6. java继承数组实例_【Java】理解封装、继承、多态和对象数组的综合实例(简易的租车系统,附代码)...

    一.Drive.java(汽车类 - 父类) package Z_CarManger; import java.io.ObjectInputStream.GetField; public abstra ...

  7. java 定时器时间设置_如何在Java中设置定时器?

    所以答案的第一部分是如何做主题要求的事情,因为这是我最初对它的解释,有几个人似乎觉得很有帮助.这个问题后来被澄清了,我已经扩展了答案来解决这个问题. 设置计时器 首先,您需要创建一个计时器(我使用的是 ...

  8. java是什么格式_是java格式

    错误:编码GBK的不可映射字符的解决办法 最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后 ...

  9. java修炼之道_《Java程序员修炼之道》

    第2章 新I/O 本章内容: --新I/O API(NIO.2) --Path:基于文件和目录的I/O新基础 --Files应用类和各种辅助方法 --如何实现常见的I/O应用场景 --介绍异步I/O ...

最新文章

  1. 华人科学家胡安明被判无罪!曾因「中国行动计划」被FBI紧盯两年,遭软禁18个月...
  2. 【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
  3. 2 通过JNI混合使用Java和C++ ----- 访问数组
  4. win7 nvme 支持补丁_UpdatePack7R2 v20.8.13 Win7 更新补丁包
  5. DDD:实体如何处理外部依赖
  6. mysql inner join where_mysql中,inner join和where的结合问题
  7. 关于web性能一些特性汇总
  8. 使用 RMAN 同步数据库
  9. 中国最险六大寺庙,最后一座至今无人登临
  10. 说一说技术和管理……
  11. 数据用户学术分享搜索平台——中期报告
  12. 【华为云技术分享】快速理解spark-on-k8s中的external-shuffle-service
  13. python的requests模块功能_python-Requests模块的使用
  14. mapreduce task与spark task对比
  15. BZOJ4456 ZJOI2016旅行者(分治+最短路)
  16. noip2011——普及组——瑞士轮
  17. paip.提升程序稳定性---最佳实践
  18. Ubuntu安装五笔输入法
  19. 【程序员如何买基金 序】基金学习地图
  20. Linux之用户和权限

热门文章

  1. 自己整理的shell笔记
  2. 面包好吃却五毒俱全,吃前请三思!
  3. 看过的编程类好书(资料)
  4. NodeJS API Process全局对象
  5. 专业嵌入式软件开发——全面走向高质高效编程(含DVD光盘1张)
  6. 实验四:Telnet远程登录服务器的安装、管理及Telnet客户端的应用
  7. pycharm怎么切换到vim编辑模式
  8. Solid Converter PDF
  9. 将Windows下的InfluxDB、Grafana做成Windows服务
  10. POJ 1190 生日蛋糕 【DFS + 极限剪枝】