java对properties文件三种不同位置的读取操作

最近在弄项目,由于项目的特殊性出现测试环境和生产环境存在很多的参数配置发生改变,从一开始的一个个配置参数的修改的繁琐操作到现在的配置文件的方式,大大提高了发布效率,现在将这这个进步过程中使用到的properties配置方式做了一个简单的总结分为三种情况如下:

①这种方式是读取在jar包外面的配置文件的路径:

public static void main(String[] args) {
  try{
  InputStream in=new BufferedInputStream(new FileInputStream("resource/properties/test.properties"));
  Properties p=new Properties();
  p.load(in);
  System.out.println("properties:"+p.getProperty("name")+","+p.getProperty("age"));
  if(in!=null)
  {
   in.close();
  }
  }catch (Exception e) {
   e.printStackTrace();// TODO: handle exception
  }

 }

②读取在src根目录下文件的路径方式,这时配置文件Config.properties不能放在src下面的包内

private GetConfig(){
try{
Properties prop = new Properties();

     InputStream inputStream  = this.getClass().getClassLoader().getResourceAsStream("Config.properties");
prop.load(inputStream);
     this.driverName = prop.getProperty("driverName","");

}catch (Exception e) {
e.printStackTrace();
}
}

③读取src下面包内的配置文件

private GetConfig(){
try{
Properties prop = new Properties();

InputStream inputStream=this.getClass().getResourceAsStream("/com/haiqi/config/Config.properties");

prop.load(inputStream);
     this.driverName = prop.getProperty("driverName","");

}catch (Exception e) {
e.printStackTrace();
}
}

没有人理解我们。社会的价值与我们无关。我们是异样的,因为我们是极客!

时间: 2024-08-06 00:46:19

java对properties文件三种不同位置的读取操作的相关文章

java解析xml的三种方法

java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; // public class Saxhandler extends DefaultHandler { @Override public void startDocument() throws

Java处理XML的三种主流技术及介绍

Java处理XML的三种主流技术及介绍(1) 2012-08-15 10:44 顾彬/冯晨/乔彬 IBM developerWorks 我要评论(0) 字号:T | T XML (eXtensible Markup Language) 意为可扩展标记语言,它已经是软件开发行业中大多数程序员和厂商用以选择作为数据传输的载体.本文作者对于 Java 处理 XML 的几种主流技术进行一些总结和介绍,希望帮助那些有不同需求的开发人员对于 XML 处理技术的作出最优的选择. AD:51CTO 网+首届AP

Java读properties文件中文乱码问题的解决方法

java读properties文件,包含中文字符的主要有两种: 1.key中包含中文字符的(value中也有可能包含) 2.key中不包含中文字符的(value中有可能包含) 1.key中包含中文字符 可以使用java自带工具native2ascii.exe(Java\jdk1.x.x\bin\native2ascii.exe),转换文件编码格式 示例: native2ascii -encoding 8859_1 c:\a.properties c:\b.properties 即将 c:\a.p

[转]Java实现定时任务的三种方法

在应用里经常都有用到在后台跑定时任务的需求.举个例子,比如需要在服务后台跑一个定时任务来进行非实时计算,清除临时数据.文件等.在本文里,我会给大家介绍3种不同的实现方法: 普通thread实现 TimerTask实现 ScheduledExecutorService实现 普通thread 这是最常见的,创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果.这样可以快速简单的实现,代码如下: public class Task1 { public st

关于PHP、JAVA、.NET这三种技术的区别

关于PHP.JAVA..NET这三种技术的区别 一.语言: PHP:PHP产生与1994年,其语法混合了C.Java.Perl 和他自创的一些编程语法:PHP是嵌入在HTML中执行的:它也是一种解释性语言.早期的PHP并非完全的面向对象编程语言,到了PHP4以后的版本才开始有了面向对象的概念. JAVA:JAVA产生与1995年,JAVA语言和JAVA平台统称为JAVA:它语法与C语言和C++语言很接近,并且JAVA是面向对象编程语言,JAVA是编译性语言,可以先将JAVA源码编译成.class

java解析xml文件四种方式介绍、性能比较和基本使用方法

一.介绍: 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的.DOM以及广义的基于树的处理具有几个优点.首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改.它还可以在任何时候在树中上下导航,而不

Java获取.properties文件

@SuppressWarnings("rawtypes") public static void getProperties() { Properties properties = null; InputStream in = null; try { properties = new Properties(); //获取文件 in = Object.class.getResourceAsStream("/config.properties"); properties

java实现定时任务的三种方法

java实现定时任务的三种方法 详解java定时任务 定时器的实现.java定时器介绍与Spring中定时器的配置 java定时器简单了解 ------------------ java定时器执行多个方法

java中 this 的三种用法

Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 (3)this调用构造方法只能在本构造方法中调用另一个构造方法(4)this 调用构造方法必须写在第一行 eg: 1 public class ThisDemo { 2 private int id; 3 private String name; 4 public ThisDemo(){ //(1)