java读取项目或包下面的属性文件方法
1.使用java.util.Properties类的load()方法
//文件在项目下。不是在包下!!
InputStream in = new BufferedInputStream(newFileInputStream("demo.properties")) ;
Properties p = new Properties();
p.load(in) ;
String className2 =p.getProperty("database.driver");
String url = p.getProperty("database.url");
String user =p.getProperty("database.user");
String password =p.getProperty("database.pass");
2. 使用java.util.Resourcebundle类的getbundle()方法
//前面没有“/”代表当前类的目录
示例:
//文件和类在同一个包下,注意它的文件名和后缀!!是调换的,
ResourceBundle resource =ResourceBundle.getBundle("properties.jdbc");
String className =resource.getString("database.driver");
String url =resource.getString("database.url");
String user =resource.getString("database.user");
String password =resource.getString("database.pass");
3.使用java.util.PropertyResourceBundle类的构造函数
// 文件在项目下 或者 src/demo.properties
// 在 src/demo.properties 写成 new FileInputStream("src/demo.properties")
InputStream in = new BufferedInputStream(new FileInputStream("demo.properties"));
ResourceBundle rb = new PropertyResourceBundle(in) ;
String className4 =rb.getString("database.url");
4.使用class变量的getresourceasstream()方法
示例:
InputStream in=Properties.class.getResourceAsStream("/properties/jdbc.properties");
// 包点类名下的。
// 如果找不到带有该名称的资源,则返回 null
Properties p = new Properties();
p.load(in);
System.out.println(p.getProperty("database.url"));
5.使用class.getclassloader()所得到的java.lang.classloader的getresourceasstream()方法
// properties 文件 要放在src下面,否则找不到啊
示例:
InputStream in = 类名.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties p = new Properties() ;
p.load(in);
System.out.println(p.getProperty("database.pass"));
6.使用java.lang.classloader类的getsystemresourceasstream()静态方法
示例:
// 同包名下
InputStream in =ClassLoader.getSystemResourceAsStream("properties/jdbc.properties");
Properties p = new Properties() ;
p.load(in) ;
System.out.println(p.getProperty("database.user"));
总结:如果是 在WEB上读取properties文件,写成下面这种。上面写的那些只在 JavaSE 中
String path =Thread.currentThread().getContextClassLoader().getResource("").getPath();
System.out.println(path);
InputStreamin = new FileInputStream(newFile(path+File.separator+"mysql.properties"));
Properties prop = new Properties();
java读取项目或包下面的属性文件方法的更多相关文章
- java读取项目根路径下和任意磁盘位置下的properties文件
1.读取项目根路径下的properties文件比较简单也是比较常见的一种操作. 具体代码如下: package com.xuanen.util; import java.util.Properties ...
- java基础十[包、Jar存档文件和部署](阅读Head First Java记录)
将Java的class文件生成为可执行的Java应用程序.Java应用程序有三种:完全在本机执行的Jar(例如本机的GUI可执行程序):完全在服务器端远程执行的(例如浏览器来进行存取):介于两者之间的 ...
- Java获取项目根目录等其他系统属性
一 相对路径的获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目) String relativelyPath=System.getProper ...
- java web项目war包部署,使用tomcat对指定接口设置身份认证
先简单说一下需求: 将一个基于springboot2.0开发的java web项目打成war包,通过tomcat部署到一台linux服务器上,项目相关的一些图片等资源也按照一定规则放置在服务器构建好的 ...
- Java读取其他jar包里的配置文件
最近要做个东西,需要自己控制数据库的事物,项目封装的框架,实在是提不起去阅读的兴趣, 就想直接去读框架的底层实现里面的数据连接的配置文件(如:Url,port,username,password等), ...
- Java Web项目中连接Access数据库的配置方法
本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...
- python 项目中包中__init__.py文件的作用
开发python项目时,我遇到了一个这样的现象,当我新建一个pythonpackage时,总会自动地生成一个空的__init__.py文件,因为是python新手,所以很不了解这个空文件的作用是什么, ...
- 浅谈Java反射机制 之 使用类的 属性、方法和构造函数
前面两篇我们总结了Java反射机制如何获取类的字节码,如何获取构造函数,属性和方法, 这篇我们将进一步验证如何使用我们获取到的属性.方法以及构造函数 1.使用 反射 获取到的 属性 import ja ...
- Java读取oracle数据库中blob字段数据文件保存到本地文件(转载)
转自:https://www.cnblogs.com/forever2698/p/4747349.html package com.bo.test; import java.io.FileOutput ...
随机推荐
- API接口安全加强设计方法
前面两篇相关文章: <Web Api 内部数据思考 和 利用http缓存优化 Api> <Web Api 端点设计 与 Oauth> 1.开放的接口 这样的接口我们天天都在接触 ...
- Aircrack-ng无线破解总结
过年回来家,奈何没网,实属无奈,只好看破解教程,看能否破出来.于是总结如下 测试环境在linux平台下,我用的是ubuntu环境.ubuntu安装可以直接用sudo apt-get install a ...
- java使用memcached2--集群部署
一.集群安装 1.编译安装magent-0.5到/usr/local/下 # cd /usr/local # mkdir magent # cd magent/ # wget http://memag ...
- 查看inux系统类型和版本
当我们使用一台新的linux服务器的时候,为了区分他们的命令,我们首先第一步就是要搞清楚这个系统的类型和版本号,据此再来使用对应的命令. 下面来看看可以使用以下基本命令来查看 Linux 发行版名称和 ...
- java_I/O字符流
I/O流(Stream) INPUT:输入流,从文件里读OUPUT:输出流,写内容到文件 IO流分为:字符流和字节流 字符流:处理纯文本文件. 字节流:处理可以所有文件. 字符输出流测试: @Test ...
- 我永远喜欢我的偶像 KIKU
- 【Quartz】解密properties配置文件中的账号密码
在配置quartz时,为了保密某些信息(特别是账号密码),通常会使用密文.那么在实际使用这些配置信息时,需要进行解密.本文提供一种解密方法如下: (1)假设在properties文件中加密了账号密码 ...
- 39.oracle高级篇
标题说是高级篇,其实也就是相对于基础篇来说的,也不是很深奥,自己平时工作中也都会用到,这里回忆的并不是特别冷门的知识,不要掉以轻心,以为“高级”就觉得工作中不会用到了. 一.select into 和 ...
- QuantLib 金融计算——数学工具之求解器
目录 QuantLib 金融计算--数学工具之求解器 概述 调用方式 非 Newton 算法(不需要导数) Newton 算法(需要导数) 如果未做特别说明,文中的程序都是 Python3 代码. Q ...
- C#接口实现多态
我比较喜欢对感兴趣的理论进行反复的理解甚至理解背诵下来,接下来再复习一下什么叫多态(哈哈哈) 多态:在同一粒度视图下对相同类型的事物不做区别的统一操作 接下来看一下接口和引擎类是如何实现多态的: 一. ...