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 ...
随机推荐
- codeforces 1096 题解
A: 发现最优的方案一定是选 $ l $ 和 $ 2 * l $,题目保证有解,直接输出即可 #include <bits/stdc++.h> #define Fast_cin ios:: ...
- java使用Redis8--3.0集群
Redis集群至少需要3个主节点 # cd /usr/redis 创建一个目录 # mkdir cluster # cd cluster 1.复制一个配置文件 # cp ../redis.conf 9 ...
- placeholder插件详解
placeholder插件是用来实现input或者textarea文本框显示默认文字的功能,当获得焦点时,默认文字消失.用户按删除键,把输入的字符删除掉,并失去焦点时,默认文字又出现等功能.使用此插件 ...
- apache2 的https配置和代理https后端nodejs配置
先进入 /usr/local/apache2/conf 目录 修改 vim httpd.conf 把下面的去掉注释 LoadModule proxy_module modules/mod_pro ...
- 总结day04 ---- 列表的切片,增删改查,以及,相关方法, 元祖的使用方法
内容大纲 1 : 列表的索引 : 列表的切片 2 : 列表的增加内容 >1:append(char) >2:insert(index,char) >3:extend('可迭代对象' ...
- urllib的使用
1.urllib 中的urlopen urllib.urlopen(url,data) 如果请求是json格式,则data是json.dumps(data_dict)形成的数据,注意,不能在进行url ...
- C#-WebForm-网页中Form表单中给回车绑定按钮
WEB端: <form id="form1" runat="server" defaultbutton="btnSearch" ...
- GDB:从单线程调试到多线程调试(MFiX单步调试)
GDB:从单线程调试到多线程调试 1. 裸跑GDB 1.1 安装GDB sudo apt-get install gdb 1.2 编译程序 由于需要调试,因此编译的时候需要添加-g编译参数: 1.3 ...
- Go语言指针
指针简介 (Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值.由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元.因此,将 ...
- OPENERP 中自定义模块 找不到的问题
问题的前提是你写的模块本身没有问题,我自己碰到的情况是在本机运行可以,但是上传到服务器上以后却无论怎么重启服务都找不到模块. 问题的根源在上传的文件权限设置不对: 假设自定义模块为rainsoft_p ...