通常情况下,我们会在一些配置文件文件中配置一些属性。如:

indexPath = E\:\\Tomcat_7.0\\webapps\\ipost_stage\\lucene\\index

imgUploadPath = E\:\\Tomcat_7.0\\webapps\\ipost_stage\\attachedImg

imgPath=http\://192.183.3.207/ipost_stage/attachedImg

adminEmail=

pageSize=5

normalImgSize=250

smallImgSize=100

通过打开编译后的classes目录(类路径目录)

那么可以通过工具类来实现对这个配置文件的读写。

首先建立一个常量类

/**

* 常量类

*/

public class ConfigConstants {

//系统编码

public static final String CHARSET = "UTF-8";

//系统配置文件的路径

public static final String SYSCONFIG_PATH = "/sysConfig.properties";

}

然后通过一个工具类类操作

package com.myProject.common;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.Date;

import java.util.Properties;

import com.myProject.utils.DateUtils;

/**

* 读取公共的配置文件

*/

public class SysConfig {

private static Properties sysConfig = new Properties();

static { //读取配置文件

InputStream inputStream = SysConfig.class

.getResourceAsStream(ConfigConstants.SYSCONFIG_PATH);

try {

sysConfig.load(inputStream);

} catch (IOException e) {

e.printStackTrace();

} finally{

try {

inputStream.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

//根据属性读取配置文件

public static String getProperty(String key){

return sysConfig.getProperty(key);

}

//根据属性写入配置文件

public static void setProperty(String key,String value){

sysConfig.setProperty(key, value);

}

}

测试类如下:

package com.myProject.test;

import com.myProject.common.SysConfig;

public class ConfigConstantTest {

public static void main(String[] args) {

String aa = SysConfig.getProperty("testConstant");

System.out.println(aa);

}

}

结果为:66

如果在maven项目中,常量类和工具类,测试类不变。唯一要变的就是系统配置文件的路径。那么怎么判断这里路径怎么写呢?

唯一的判断依据就是编译后的路径位置
在非maven项目中,直接看classes中的文件相对位置:

/sysConfig.properties就是直接定位到classes目录,然后在此目录中寻找sysConfig.properties文件。

在maven项目中,则需要build之后看target目录中的classes目录,然后在此目录中寻找sysConfig.properties文件。

当然,方法有相对路径和绝对路径两种。

绝对路径:

则是这么配置:

/**

* 绝对路径配置:SYSCONFIG_PATH "/com/hori/bigData/resources/config.properties"

*/

相对路径是相对于常量类而言的,则是这么配置:

/**

* 相对路径配置:SYSCONFIG_PATH = "..\\resources\\config.properties"

*/

当然,考虑到windows和linux的兼容性,把  '/'换成‘\\’即可

Java项目和maven项目中如何获取&设置配置文件中的属性的更多相关文章

  1. Java 获取*.properties配置文件中的内容 ,常见的两种方法

    import java.io.InputStream; import java.util.Enumeration; import java.util.List; import java.util.Pr ...

  2. 普通 Java 项目转换为 Maven 项目

    普通 Java 项目转换为 Maven 项目 本文为原创文章,转载请注明出处.源码已分享至GitHub. 本文提供一个完整可行的将遗留项目转换为Maven项目的步骤.至于转换Maven构建项目的好处不 ...

  3. 如何用Eclipse将普通的JavaWeb项目转为Maven项目

    最新自己的第一个项目差不多稳定运行之后 想着将项目转为Maven项目.于是参考网上成功的将自己的普通的项目转为了maven项目,现在记录一下: 0.普通的java项目的结构如下: 1.接下来开始进行正 ...

  4. 一般项目转为Maven项目所遇到的问题

    最近搞CI,准备使用Maven,但以前的项目不是Maven项目,需要把项目转换为Maven项目.这遇到几个小问题,一是jar包的依赖,二是从本地仓库取出依赖jar包. 由于没有本地仓库,要手动添加ja ...

  5. 普通项目转为maven项目及相关操作说明

    普通项目转为maven项目及相关操作说明 1 原项目简述 如图,一般的项目大致包括三类路径:src,源码路径:test,单元测试路径:lib第三方类包路径. 示例项目中,BaseDao类依赖于mysq ...

  6. 在MyEclipse里连接Tomcat部署到项目(maven项目和web项目都适用)

    前提, Tomcat *的下载(绿色版和安装版都适用) Tomcat *的安装和运行(绿色版和安装版都适用) Tomcat的配置文件详解 在Eclipse里连接Tomcat部署到项目(maven项目和 ...

  7. Eclipse使用之将Git项目转为Maven项目, ( 注意: 最后没有pom.xml文件的, 要转化下 )

    Eclipse使用之将Git项目转为Maven项目(全图解) 2017年08月11日 09:24:31 阅读数:427 1.打开Eclipse,File->Import 2.Git->Pr ...

  8. 获取UWP配置文件中的版本信息

    原文:获取UWP配置文件中的版本信息 在一般的软件中,我们都会显示当前软件的版本信息.以前作者都是在发版的时候修改一下UWP的配置文件中的版本信息和软件中的版本信息.但是每次这样很麻烦,有时间忘记修改 ...

  9. Ubuntu14.04下Mongodb的Java API编程实例(手动项目或者maven项目)

    不多说,直接上干货! 若大家,不会安装的话,则请移步,随便挑选一种. Ubuntu14.04下Mongodb(在线安装方式|apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04 ...

随机推荐

  1. 【iOS】7.4 定位服务->3.3 地图框架MapKit 功能3:3D视图

    本文并非最终版本,如果想要关注更新或更正的内容请关注文集,联系方式详见文末,如有疏忽和遗漏,欢迎指正. 本文相关目录: ================== 所属文集:[iOS]07 设备工具 === ...

  2. 1101: 零起点学算法08——简单的输入和计算(a+b)

    1101: 零起点学算法08--简单的输入和计算(a+b) Time Limit: 1 Sec  Memory Limit: 128 MB   64bit IO Format: %lldSubmitt ...

  3. Python with

    简介 在编程中会经常碰到这种情况:有一个特殊的语句块,在执行这个语句块之前需要先执行一些准备动作:当语句块执行完成后,需要继续执行一些收尾动作.例如,文件读写后需要关闭,数据库读写完毕需要关闭连接,资 ...

  4. Java 判断回文字符串有多少和其中的最大字符串

    一.简介代码功能 该代码的功能可以实现对任意的一段字符串进行判断是否有回文,回文有哪些,和其中的最大回文. 二.代码部分 1.全局变量 static String hws = "" ...

  5. 计算机网络——DNS协议的学习与实现

    1. 主要内容 不说废话,直接进入正题.先说说本文本文的主要内容,好让你决定是否看下去: 介绍DNS是干什么的: 介绍DNS是如何工作的: 介绍DNS请求与响应的消息格式: 编程实现一个简单的DNS服 ...

  6. 【R】正态检验与R语言

    正态检验与R语言 1.Kolmogorov–Smirnov test 统计学里, Kolmogorov–Smirnov 检验(亦称:K–S 检验)是用来检验数据是否符合某种分布的一种非参数检验,通过比 ...

  7. 一个全局变量引起的DLL崩溃

    参考我发的帖子: http://bbs.csdn.net/topics/390737064?page=1#post-397000946 现象是exe程序在加载dll的时候崩溃了,莫名其妙的崩溃了.换其 ...

  8. JS存在性

    var myObject = { a:2 }; ("a" in myObject);//true ("b" in myObject);//false myObj ...

  9. 又拍云SSL证书全新上线,提供一站式HTTPS安全解决方案

    互联网快速发展,云服务早已融入每一个人的日常生活,而互联网安全与互联网的发展息息相关,这其中涉及到信息的保密性.完整性.可用性.真实性和可控性.又拍云上线了与多家国际顶级 CA 机构合作的数款OV & ...

  10. python之爬虫学习记录与心得

    之前在寒假的时候,学习了python基础.在慕课网上看的python入门:http://www.imooc.com/learn/177 python进阶:http://www.imooc.com/le ...