java读取存在src目录下和存在同级目录下的配置文件
如果我有个文件存在src下一级的地方和存在src同级的目录应该怎么用相对路径去获取如图:

一、如果存在src同级的地方应该是InputStream in = new BufferedInputStream(new FileInputStream("./set.properties"));就可以了。
代码如下:
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Iterator;
import java.util.Properties;
public class PropertiesUtil {
public static String getUrlValue(String urlName) {
String url = null;
Properties prop = new Properties();
try {
//ConfigUtil.class.getClassLoader().getSystemClassLoader().getResource(""));
ClassLoader classLoader = PropertiesUtil.class.getClassLoader();// 读取属性文件xxxxx.properties
//InputStream in = classLoader.getResourceAsStream("config/config.properties");
InputStream in = new BufferedInputStream(new FileInputStream("./set.properties"));
prop.load(in); /// 加载属性列表
Iterator<String> it = prop.stringPropertyNames().iterator();
while (it.hasNext()) {
if (it.next().equals(urlName)) {
url = prop.getProperty(urlName);
}
}
in.close();
} catch (Exception e) {
}
return url;
}
}
配置文件如:

测试:
import cn.deos.util.PropertiesUtil;
public class test {
public static void main(String []args){
String urlValue = PropertiesUtil.getUrlValue("defaultFileDirectory");
System.out.println("urlValue=="+urlValue);
}
}
二 、如果存在src下一级的地方应该是ClassLoader classLoader = PropertiesUtil.class.getClassLoader();// 读取属性文件xxxxx.properties
//InputStream in = classLoader.getResourceAsStream("set.properties");就可以了。
代码如下:
import java.io.InputStream;
import java.util.Iterator;
import java.util.Properties;
public class PropertiesUtil {
public static String getUrlValue(String urlName) {
String url = null;
Properties prop = new Properties();
try {
ClassLoader classLoader = PropertiesUtil.class.getClassLoader();// 读取属性文件xxxxx.properties
InputStream in = classLoader.getResourceAsStream("config/config.properties");
//InputStream in = new BufferedInputStream(new FileInputStream("set.properties"));
prop.load(in); /// 加载属性列表
Iterator<String> it = prop.stringPropertyNames().iterator();
while (it.hasNext()) {
if (it.next().equals(urlName)) {
url = prop.getProperty(urlName);
}
}
in.close();
} catch (Exception e) {
}
return url;
}
}
测试如下:
import cn.deos.util.PropertiesUtil;
public class test {
public static void main(String []args){
String urlValue = PropertiesUtil.getUrlValue("defaultFileDirectory");
System.out.println("urlValue=="+urlValue);
}
}
java读取存在src目录下和存在同级目录下的配置文件的更多相关文章
- java读取项目根路径下和任意磁盘位置下的properties文件
1.读取项目根路径下的properties文件比较简单也是比较常见的一种操作. 具体代码如下: package com.xuanen.util; import java.util.Properties ...
- maven项目无法读取src/main/java目录下的配置文件解决方法
我们在用Mybatis去操作底层数据库的时候,需要用到xml配置文件,一般我们是把配置文件和dao放置在同一层目录.但是在用idea操作maven项目的时候,我们可能会遇到无法读取到dao对应的map ...
- java 读取src下的配置文件
很多时候,我们都将配置文件放在eclipse的src目录下,这个位置,相当于,当导出可执行jar包后,配置文件放在和jar同级的目录中,比如jar包放在/opt目录下,则配置文件放在/opt下,则ja ...
- JAVA Web项目获取src和WebContent目录下的配置文件
一,获取src下面的配置文件信息 1,结构图如下: package com.binp.properties; import java.io.FileInputStream; import java.i ...
- Maven项目中读取src/main/resources目录下的配置文件
在Maven项目的开发中,当需要读取src/下的配置文件时,该怎么做? 我们假设Resources下有一个文件名为kafka.properties的配置文件(为什么用kafka.properties, ...
- java读取resource目录下的配置文件
java读取resource目录下的配置文件 1:配置resource目录 下的文件 host: 127.0.0.1 port: 9300 2:读取 / 代表resource目录 InputSt ...
- java读取properties配置文件总结
java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1) ...
- java 读取XML文件作为配置文件
首先,贴上自己的实例: XML文件:NewFile.xml(该文件与src目录同级) <?xml version="1.0" encoding="UTF-8&quo ...
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
随机推荐
- pycharm最新版本激活码(永久有效) python安装教程
Mac 系统自带python 1.打开终端, 输入 python 可以查看python当前版本. 2.输入“python”回车后即进入解释器,例如打印“hello world!”, 可输入 ‘ pri ...
- moment实现计算两个时间的差值
var m1 = moment('2018-08-14 11:00:00'), m2 = moment('2018-08-14 12:10:00'); console.log(m1)console.l ...
- FPGA 内部详细架构你明白了吗?
FPGA 芯片整体架构如下所示,大体按照时钟域划分的,即根据不同的工艺.器件速度和对应的时钟进行划分: FPGA 内部详细架构又细分为如下六大模块: 1.可编程输入输出单元(IOB)(Input Ou ...
- jenkins插件之Publish Over SSH的使用
1,安装 在插件管理选项搜索Publish Over SSH,然后点击安装即可完成 2,安装完成之后,就可以在jenkins的配置系统中找到Publish Over SSH 配置完服务器之后,然后在项 ...
- 从ASP.Net Core Web Api模板中移除MVC Razor依赖项
前言 :本篇文章,我将会介绍如何在不包括MVC / Razor功能和包的情况下,添加最少的依赖项到ASP.NET Core Web API项目中. 一.MVC VS WebApi (1)在ASP. ...
- JPA 已作废的SQLQuery.class、setResultTransformer方法替换
1.hibernate 5.2 之后,SQLQuery.class.setResultTransformer方法已作废,其用法如下: Query query = entityManager.creat ...
- 遇见Python
开发: 开发语言: 1.高级语言:Python Java.PHP C# Go ruby C++... ===> 字节码 2.低级语言:C.汇编 ...
- Map(映射)
散列表介绍: 数组和链表都可以是有序的(即存储顺序与取出顺序一致),但这样是有代价的,需要遍历才可以寻找某一特定元素: 而还有另外的一些存储结构:不在意元素的顺序,能够快速的查找元素的数据 其中就有一 ...
- SpringBoot系列:Spring Boot使用模板引擎Thymeleaf
一.Java模板引擎 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档. 在jav ...
- 视图向控制器传参@RequestMapping()和@RequestParam()
@RequestMapping()和@RequestParam()注解在spring-web-4.3.18.RELEASE.jar包下,当然可以是其他版本,所在包名如下: @RequestMappin ...