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

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 读取配置文件_Java项目和maven项目中如何获取设置配置文件中的属性相关推荐

  1. 由于缺少调试目标“……”,Visual Studio无法开始调试。请生成项目并重试,或者相应地设置OutputPath和AssemblyName属性,使其指向目标程序集的正确位置...

    使用VS2010时出现如下问题:由于缺少调试目标"--",Visual Studio无法开始调试.请生成项目并重试,或者相应地设置OutputPath和AssemblyName属性 ...

  2. Java Map中如何获取Map集合中所有value呢?

    转自: Java Map中如何获取Map集合中所有value呢? 下文笔者讲述使用Map.values()方法获取集合中"所有值"的方法分享,如下所示: 实现思路:借助Map的va ...

  3. java xml 读取库_Java开发中读取XML与properties配置文件的方法

    相关阅读: 1. XML文件: 什么是XML?XML一般是指可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 2.XML文件的优点: 1)XML文档内容和结构完 ...

  4. java wrapper怎么运行_java wrapper方式部署项目

    java项目部署的方式多种多样,目前springboot框架下都是自带tomcat等服务运行环境的,也可以直接将编译包后的jar包解压后运行起来,今天要介绍的是用wrapper的方式部署项目,这种方式 ...

  5. java properties读取中文_Java读取properties文件中文乱码

    Java读取properties文件中文乱码 之前读取properties配置文件时候全都是英文或者数字之类的,最近项目有个需求要properties配置文件中有中文字符存在,那么读取java pro ...

  6. java scanner 读取文件_Java读取文本文件

    有很多方法可以在java中读取文本文件.下面我们来逐个看看java中读取文本文件的几个方法. 在java中有很多读取文本文件的方法.文本文件由字符组成,因此可以使用Reader类.在java中读取文本 ...

  7. java运行时读取注解_Java自定义注解和运行时靠反射获取注解

    转:1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰 ...

  8. java io读取文件_java io读取文件操作代码实例

    这篇文章主要介绍了java io读取文件操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 主要分为字节读取和字符读取,字节读取可以一个一个 ...

  9. java逐行读取文件_Java逐行读取文件

    java逐行读取文件 Today we will look into different java read file line by line methods. Sometimes we have ...

最新文章

  1. 字节跳动招聘2年工作经验:30-60k!什么岗位这么香?
  2. 华为发布岳云鹏手机_华为P40系列发布,再谈手机隐私安全重要性
  3. esriFeatureType与esriGeometryType的区别与联系
  4. 转发2篇大学生写的博文---看了比较有感触
  5. 物联网企业该如何与华为云合作,这份FAQ值得一看
  6. WordPress配置
  7. 机器人 林州重机_林州重机定增11亿 进军油服和机器人行业
  8. 深度神经网络分布式训练指引
  9. 奇摩,你来大陆干什么?
  10. cubieboard mysql_Cubieboard开发笔记
  11. youtube字幕下载
  12. 数据挖掘(数据分析)从业指南
  13. Android 广告图片 全屏图片适配方案的思路
  14. Pandas 日期处理:生成及去除工作日与节假日
  15. 【LR/PS插件】胶片颗粒调色光晕视觉效果工具 Optics 2022.0.1 Win
  16. BUUCTF-刷题记录-7
  17. python医药数据分析_Python数据分析案例-药品数据分析案例
  18. 学生考试作弊行为视频实时检测系统源码
  19. sockaddr与sockaddr_in,sockaddr_un结构体详解
  20. 画手cv什么意思_b站cv和op是什么意思

热门文章

  1. 【Flink】Flink + Drools 构建规则模型
  2. 【Spring】Spring Boot 和 Redis 自定义 RedisTemplate
  3. 【MySQL】MySQL Shell 简介与使用
  4. Spring : Importxxx系列注解
  5. Oracle数据库ORA-00942: 表或视图不存在的问题
  6. hiveserver2总是启动不起来
  7. php mysql 查询数据出现连接重置_php使用mysql和mysqli连接查询数据
  8. Java程序员不可错过的11个IDEA插件
  9. Java多线程学习二十五:阻塞和非阻塞队列的并发安全原理||如何选择适合自己的阻塞队列?
  10. JDK8之后的 接口的新特性: